📅  最后修改于: 2023-12-03 15:27:26.643000             🧑  作者: Mango
Django 是一个基于 Python 的开放源代码 Web 框架,它遵循了 MVC(模型-视图-控制器)的设计模式,提供了很多方便的工具和功能,使得 Web 开发过程更加简便。
Django 中最核心的部分就是管理命令,它们可以帮助程序员快速地创建模型、视图和控制器,以及运行服务器、迁移数据库和执行测试等任务。下面将逐一介绍 Django 中常用的管理命令:
django-admin startproject
命令用于创建 Django 项目,它会生成一个包含所有必要文件和目录的基本项目结构。使用如下命令创建一个新的 Django 项目:
django-admin startproject myproject
其中,myproject
是项目的名称,执行该命令后会生成一个包含如下文件和目录的项目结构:
myproject/
manage.py
myproject/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
这些文件和目录的作用如下:
manage.py
: 与项目交互的命令行工具,所有后续的管理命令都需要通过该工具使用;myproject/
: 项目的 Python 包,包含了所有的应用程序和其他组件;__init__.py
: 表示 myproject
是一个 Python 包;settings.py
: 项目的配置文件,包含了数据库、静态文件、模版和访问控制等信息;urls.py
: URL 路由映射,将 URL 映射到相应的视图函数或者其他处理器;asgi.py
和 wsgi.py
: ASGI 和 WSGI 服务器入口,用于请求分发和多进程模型支持。python manage.py startapp
命令用于创建一个新的应用,一个 Django 项目可以包含多个应用程序。使用如下命令创建一个新的应用:
python manage.py startapp myapp
其中,myapp
是应用程序的名称,执行该命令后会生成一个包含如下文件和目录的应用程序结构:
myapp/
__init__.py
admin.py
apps.py
models.py
tests.py
views.py
这些文件和目录的作用如下:
__init__.py
: 表示 myapp
是一个 Python 包;admin.py
: 管理“后台”,允许程序员对模型进行编辑、创建、删除等操作;apps.py
: 应用程序配置文件,允许程序员配置应用程序级别的设置;models.py
: 应用程序的数据模型定义;tests.py
: 应用程序的测试文件;views.py
: 应用程序的视图函数定义。python manage.py runserver
命令用于启动 Django 开发服务器,它可以自动检测代码的变化并重新加载应用程序。使用如下命令启动服务器:
python manage.py runserver
执行该命令后,服务器会监听本地的 8000 端口,可以通过 http://localhost:8000/ 访问 Django 项目的默认首页。
Django 中的模型定义是基于 ORM(对象关系映射)的,它将模型对象映射到数据库中的表结构。当模型发生变化时,需要执行数据库迁移操作,将表结构更新到最新版本。用于数据迁移的管理命令有如下三个:
python manage.py makemigrations
: 生成迁移文件;python manage.py migrate
: 执行迁移操作;python manage.py showmigrations
: 显示已有迁移文件的状态。Django 中的管理命令还包括创建超级用户的命令 python manage.py createsuperuser
,这个命令可以帮助程序员创建一个拥有管理员权限的用户账号,用于管理站点和其他用户。使用如下命令创建超级用户:
python manage.py createsuperuser
执行命令后,会提示输入用户名、电子邮件和密码等信息,输入完毕后即可创建超级用户账号。
Django 支持多种单元测试框架,包括 Django 自带的测试框架,以及第三方框架如 PyTest 和 Nose。用于执行单元测试的管理命令有如下两个:
python manage.py test
: 执行所有应用程序的测试用例;-k
选项用于指定测试用例的名称模式,python manage.py test -k mytest
将执行所有名称中包含 mytest
的测试用例。以上就是 Django 中常用的管理命令,通过这些命令可以快速完成 Django 项目的开发和测试工作,提高开发效率,加速迭代周期。