1. Django 项目文件结构
1. 项目级文件
manage.py
-
作用:Django 项目的命令行工具,用于启动本地服务器、运行测试、创建数据库、执行迁移等操作。这是与项目交互的主要方式之一。
-
来源:Django 自动生成
settings.py
-
作用:Django 项目的全局配置文件,包含了数据库配置、静态文件路径、模板路径、中间件、时区设置、SESSION 设置、DEBUG 配置等。几乎所有的项目级配置都在这里进行。
-
示例配置:如 INSTALLED_APPS 用于注册应用,DATABASES 用于配置数据库连接,STATIC_URL 和 STATIC_ROOT 用于静态资源的配置。
-
来源:Django 自动生成,用户需根据项目需求进行修改。
urls.py
-
作用:Django 项目的路由文件,定义了 URL 与视图函数之间的映射关系。这是 Django 处理用户请求的第一步,根据请求的 URL 转发到相应的视图函数。
-
示例配置:通过 urlpatterns 列表定义路由,使用 path() 或 re_path() 等函数进行 URL 的匹配和视图函数的关联。
-
来源:Django 自动生成,用户需根据项目需求进行修改。
wsgi.py
-
作用:Web应用(Django)与Web服务器(如uWSGI)之间的桥梁,用于处理Web服务器发来的请求并返回响应。这是 Django 部署到生产环境时的重要文件。
-
来源:Django 自动生成
asgi.py(可选)
-
作用:ASGI(Asynchronous Server Gateway Interface)的实现,是 WSGI 的升级版本,支持异步视图,从而可以增大 Django 的并发量。适用于需要高并发的场景。
-
来源:在某些 Django 版本或配置中自动生成,不是所有项目都必需。
2. 应用级文件
在 Django 中,应用(App)是项目的基本构建块,每个应用都包含自己的视图、模板、模型等文件。
models.py
-
作用:定义数据模型,即数据库中的表结构(定义表结构,用于视图函数进行操作)。通过定义模型类及其属性,Django 能够自动生成数据库表,并进行数据的增删改查操作。
-
示例:定义一个 User 模型类,包含 username 和 email 等属性,Django 会自动生成相应的数据库表。
views.py
-
作用:定义视图函数,即处理用户请求并返回响应的函数(功能函数)。视图函数接收请求(request),执行相应的业务逻辑,并返回响应(response)。
-
示例:定义一个视图函数 home,用于处理首页的请求,并返回首页的 HTML 内容。
urls.py(应用级)
-
作用:定义应用内的路由,即应用内部 URL 与视图函数之间的映射关系。这是应用内部处理请求的第一步,也就是定义指向视图函数的接口
-
示例:通过 urlpatterns 列表定义应用内的路由,使用 path() 或 re_path() 等函数进行 URL 的匹配和视图函数的关联。
admin.py
-
作用:定义 Django 后台管理界面的配置,如注册模型到后台,设置后台的显示字段等。通过 Django 自带的后台管理界面,可以方便地对数据库进行增删改查操作。
-
示例:使用 admin.site.register(ModelClass) 将模型类注册到后台管理界面。
forms.py(可选)
-
作用:定义表单类,用于处理用户提交的表单数据。表单类可以定义表单的字段、验证规则等,使得表单处理更加灵活和方便。