Django 开发常用命令速查指南
本文详细解析 Django 框架中的核心命令行工具。涵盖从新建项目与 APP、执行数据库迁移、启动开发服务器,到数据导入导出、创建超级管理员及进入交互式 Shell 的完整操作流程。针对 Windows 环境差异及不同 Django 版本提供了具体命令示例,帮助开发者高效进行后端开发与调试。
Django 项目与 APP 初始化
一、新建项目
$django-admin.py startproject project_name
特别注意在 Windows 系统中,若遇到执行错误,建议尝试使用 django-admin 命令替代 django-admin.py。
此处 project_name 代表您自定义的项目名称,该名称必须符合 Python 合法包名的规范。例如,名称不能以数字开头(如 1a)或包含连字符(如 a-b)。
二、新建APP
首先需进入项目根目录,执行 cd project_name 切换路径,随后运行以下命令: $ python manage.py startapp app_name 或者使用 django-admin.py startapp app_name。
通常一个 Django 项目包含多个 APP,且通用的 APP 可跨项目复用。与项目命名规则一致,app_name 也必须是合法的 Python 包名,例如 blog、news、aboutus 等均符合规范。
数据库迁移与表结构管理
三、创建数据库表或更改数据表或字段
对于 Django 1.7.1 及以上版本,请使用以下命令进行迁移操作。
# 1. 创建更改的文件
$python manage.py makemigrations
# 2. 将生成的py文件应用到数据库
$python manage.py migrate
对于旧版本的 Django(1.6 及以下),请使用对应的同步命令。
$python manage.py syncdb
该方法能够自动根据 models.py 中的模型定义,在 SQL 等数据库中创建或更新对应的数据表,无需手动编写和执行 SQL 语句。
开发服务器启动与配置
四、使用开发服务器
开发服务器主要用于本地调试,代码修改后通常会自动重启,便于快速迭代。但由于性能限制,仅建议用于测试环境,严禁在生产环境中使用。
$python manage.py runserver
# 当提示端口被占用的时候,可以用其它端口:
$python manage.py runserver 8001
$python manage.py runserver 9999
(当然也可以kill掉占用端口的进程,具体后面有讲,此处想知道的同学可查下 lsof 命令用法)
# 监听机器所有可用 ip (电脑可能有多个内网ip或多个外网ip)
$python manage.py runserver 0.0.0.0:8000
# 如果是外网或者局域网电脑上可以用其它电脑查看开发服务器
# 访问对应的 ip加端口,比如 http://172.16.20.2:8000
数据库维护与管理员创建
五、清空数据库
$python manage.py flush
执行此命令时会提示确认输入 yes 或 no。若选择 yes,所有数据将被彻底清除,仅保留空的数据表结构。
六、创建超级管理员
$python manage.py createsuperuser
# 按照提示输入用户名和对应的密码就好了邮箱可以留空,用户名密码必填
# 修改 用户密码可以用:
$python manage.py changepassword username
通过命令创建具有最高权限的管理员账户,以便登录后台管理系统。
$python manage.py dumpdata appname > appname.json
$python manage.py loaddata appname.json
数据导入导出与交互式终端
七、导出数据,导入数据
$python manage.py shell
八、Django 项目环境终端
若系统中已安装 bpython 或 ipython,Django 将自动调用它们的界面进行交互,建议优先安装 bpython 以获得更好的体验。
数据库命令行与命令汇总
该命令与普通 python 或 bpython 进入 Shell 的区别在于,此 Shell 会自动加载当前项目的配置,允许直接调用 models.py 中的 API。这对于数据操作和小型功能测试极为便捷。
$python manage.py dbshell
九、数据库命令行
Django 会自动读取 settings.py 中配置的数据库连接信息。若使用 MySQL 或 PostgreSQL,系统将提示输入数据库用户名和密码。在此终端中可直接执行原生 SQL 语句,适合熟悉 SQL 语法的开发者使用。
十、更多命令
mysite python3.6 manage.py
Type 'manage.py help <subcommand>' for help on a specific subcommand.
Available subcommands:
[auth]
changepassword
createsuperuser
[contenttypes]
remove_stale_contenttypes
[django]
check
compilemessages
createcachetable
dbshell
diffsettings
dumpdata
flush
inspectdb
loaddata
makemessages
makemigrations
migrate
sendtestemail
shell
showmigrations
sqlflush
sqlmigrate
sqlsequencereset
squashmigrations
startapp
startproject
test
testserver
[sessions]
clearsessions
[staticfiles]
collectstatic
findstatic
runserver
总结
以上内容介绍了 Python 中 Django 框架的基本命令实例,旨在帮助读者掌握核心开发工具。如有任何疑问,欢迎留言讨论,小编将及时回复。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









