1. 项目启动与运行
runserver
- 功能:启动 Django 开发服务器。
- 用法:python manage.py runserver
- 说明:
- 默认情况下,服务器运行在
127.0.0.1:8000
。 - 可以指定 IP 和端口,例如:python manage.py runserver 0.0.0.0:8080
2. 数据库管理
makemigrations
- 功能:根据模型的变化生成数据库迁移文件。
- 用法:python manage.py makemigrations
- 说明:
- 每次修改模型后,都需要运行此命令生成迁移文件。
migrate
- 功能:应用数据库迁移,将模型同步到数据库。
- 用法:python manage.py migrate
- 说明:
- 运行此命令以应用所有未应用的迁移。
showmigrations
- 功能:显示所有迁移及其状态(已应用或未应用)。
- 用法:python manage.py showmigrations
sqlmigrate
- 功能:显示特定迁移的 SQL 语句。
- 用法:python manage.py sqlmigrate <app_name> <migration_name>
- 示例:
- python manage.py sqlmigrate myapp 0001_initial
flush
- 功能:清空数据库中的所有数据,但保留表结构。
- 用法:python manage.py flush
dbshell
- 功能:打开数据库的交互式 shell。
- 用法:python manage.py dbshell
3. 用户与权限管理
createsuperuser
- 功能:创建超级用户(管理员)。
- 用法:python manage.py createsuperuser
changepassword
- 功能:修改用户密码。
- 用法:python manage.py changepassword <username>
4. 静态文件管理
collectstatic
- 功能:收集所有静态文件到指定目录(通常用于生产环境)。
- 用法:python manage.py collectstatic
findstatic
- 功能:查找静态文件的实际路径。
- 用法:python manage.py findstatic <file_name>
5. 测试与调试
test
- 功能:运行项目的单元测试。
- 用法:python manage.py test
- 说明:
- 可以指定应用或测试模块,例如:python manage.py test myapp
shell
- 功能:启动 Django 的交互式 shell。
- 用法:python manage.py shell
- 说明:
- 在 shell 中可以访问 Django 的模型和 API。
check
- 功能:检查项目的配置和代码是否存在问题。
- 用法:python manage.py check
6. 国际化与本地化
makemessages
- 功能:提取翻译字符串并生成
.po
文件。 - 用法:python manage.py makemessages -l <language_code>
- 示例:
- python manage.py makemessages -l zh_Hans
compilemessages
- 功能:编译
.po
文件为.mo
文件。 - 用法:python manage.py compilemessages
7. 其他实用命令
startapp
- 功能:创建一个新的 Django 应用。
- 用法:python manage.py startapp <app_name>
startproject
- 功能:创建一个新的 Django 项目。
- 用法:django-admin startproject <project_name>
inspectdb
- 功能:从现有数据库生成模型代码。
- 用法:python manage.py inspectdb
dumpdata
- 功能:将数据库中的数据导出为 JSON 或其他格式。
- 用法:python manage.py dumpdata <app_name> > data.json
loaddata
- 功能:将数据从文件导入数据库。
- 用法:python manage.py loaddata data.json
总结
以上是 Django 中常用的 manage.py
命令及其功能。这些命令涵盖了项目开发、数据库管理、用户管理、静态文件处理、测试和国际化等多个方面。