Python中Django与manage.py相关的命令学习三

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 命令及其功能。这些命令涵盖了项目开发、数据库管理、用户管理、静态文件处理、测试和国际化等多个方面。