Django4.2 学习 - 快速入门(一)
1. 背景
由于公司的自动化工具是 Django
写的,之前一直用 Flask
,对 Django
了解一点,但不多,现在学习一下,不忙的时候可以维护一下自动化项目,加一点新功能。
2.Django 版本介绍
Django 官网:
https://docs.djangoproject.com/zh-hans/4.2/
LTS 版本的意思是 long-term support,长期支持版本(3 年),所以建议企业级的项目尽量选用 LTS 版本。
3.python 虚拟环境复习
4. 在虚拟环境中安装 Django
1 | pip install django==4.2.17 |
5. 创建 Django
1️⃣命令创建
1 | django-admin startproject HelloDjango |
2️⃣使用 Pycharm 创建
3️⃣目录结构
manage.py
- Django 用于管理本项目的命令工具,之后进行站点运行,数据库自动生成等,都是通过本文件完成。
__init__.py
- 告诉 python 该目录是一个 python 包,暂无内容,后期一些工具的初始化可能会用到。
settings.py
- Django 项目的配置文件,默认状态其中定义了本项目的组件,项目名称,数据库,静态资源等。
1 | """ |
urls.py
- 维护项目的 URL 路由映射,即定义当客户端访问时,由哪个模块进行响应。
wsgi.py
- 全称为
Python Web Server Gateway Interface
,即 Python 服务器网管接口,时 Python 应用与 Web 服务器之间的接口,用于 Django 项目在服务器上的部署和上线,一般不需要修改。
asgi.py
- 定义 ASGI 的接口信息,和 WSGI 类似,在 3.0 以后新增,相比 ASGI 实现了异步处理,用于启动异步通信服务,如:实现在先聊天等异步通讯功能。(类似 Tornado 异步框架)
6. 测试服务器的启动
1 | 默认端口(8000)启动 |
7. 数据迁移
迁移的概念:就是将模型映射到数据库的过程
生成迁移文件:
1 | python manage.py makemigrations |
执行迁移:
1 | # 首次执行时,会有框架默认的东西如auth_group/auth_user自带后台管理相关 |
与 flsk 不同,不需要初始化迁移文件夹,每个应用默认有迁移文件夹 migrate
8. 创建应用
1 | # 创建名称为 AppName 的应用 |
使用命令创建应用后,需要在 settings.py
中注册
1 | # ...... |
应用目录介绍:
__init__.py
- 告诉 python 该目录是一个 python 包,暂无内容,后期一些工具的初始化可能会用到。
admin.py
- 管理站点模型的声明文件,默认为空。(后台管理系统)
apps.py
- 应用信息定义文件,在其中生成了
AppConfig
,该类用于定义应用名等数据
models.py
- 添加模型层数据类文件
views.py
- 定义 URL 相应函数,视图函数
migrations
包:
- 自动生成,生成迁移文件的
tests.py
- 测试代码文件,写单元测试用
9. 基本视图
1️⃣在 views.py
中创建一个路由响应函数
1 | from django.http import HttpResponse |
2️⃣在根路由 urls.py
中进行注册
1 | """ |
3️⃣子路由 urls.py
中注册
1 | from django.urls import path |
4️⃣通过子路由访问(2 层)
1 | http://127.0.0.1:8000/user/index2/ |
10. 基本模板
模板实际上就是我们用 HTML 写好的页面
创建模板文件夹 templates,在模板文件夹中创建模板文件
在 views.py
中渲染模板,使用 render 函数:
1 | # 渲染render,渲染 html |
11. 定义模型
1 | from django.contrib.auth.models import AbstractUser |
12.Admin 后台管理
1️⃣在 admin.py 中 model 加入后台管理:
1 | from django.contrib import admin |
2️⃣创建超级用户:
1 | python manage.py createsuperuser |
3️⃣访问 admin 后台: