Django 开发常用命令速查指南

闻溪
闻溪
发布时间:2026-10-14 | 6人浏览过
原创

本文详细解析 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 框架的基本命令实例,旨在帮助读者掌握核心开发工具。如有任何疑问,欢迎留言讨论,小编将及时回复。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表