Skip to content

Django common commands cheat sheet

数据库操作命令

createcachetable

创建一个缓存用数据表,该表用于为在配置文件中声明的缓存中间件提供支持。

django-admin createcachetable

--database DATABASE
## 用于指定生成缓存表的数据库,默认情况下该参数指定配置文件中数据库的default设置的数据库。

dbshell

通过命令行的方式使用配置文件中设置的数据库引擎

django-admin dbshell

--database

dumpdata

导出指定应用的数据库表数据

django-admin dumpdata [app_label[.ModelName]

--all
--format
--database
--output
--indent
--exclude

flush

移除数据库中业务表中的数据,而通过migrate生成的相关记录的表则不被删除。

django-admin flush

--database

inspectdb

检查数据库中所有的表并为每张表生成输出的模型类。

django-admin inspectdb [table [table ...]]

--database

loaddata

查询固定信息内容并将之导入数据库中。

django-admin loaddata fixture [fixture ...]

--database
--ignorenonexistent
--app
--exclude

makemigrations

根据工程中模型的检测结果生成数据库迁移脚本文件。

django-admin makemigrations [app_label [app_label ...]]

--empty
--dry-run
--merge
--name
--check

migrate

根据模型与迁移文件信息同步数据库。

django-admin migrate [app_label] [migration_name]

--database
--plan
--check

showmigrations

查看工程中已经存在数据库同步脚本。

django-admin showmigrations [app_label [app_label ...]]

--list
--plan
--database

sqlflush

查看生成清空数据库的脚本。

django-admin sqlflush

--database

sqlmigrate

查看指定名称的数据库同步SQL语句。

django-admin sqlmigrate app_label migration_name

--backwards
--database

sqlsequencereset

生成指定应用相关的表中使用序列所对应的脚本。

django-admin sqlsequencereset app_label [app_label ...]

--database

squashmigrations

生成合并后的迁移文件,将应用下的多个迁移脚本文件合并为可能的少数几个,合并前的迁移文件与合并后的迁移文件可共存。

django-admin squashmigrations app_label [start_migration_name]migration_name

--no-optimize
--noinput, --no-input
--squashed-name

环境配置命令

startproject

在当前目录或给定的地址按照指定的项目名称创建Django工程目录框架。

django-admin startproject name [directory]

startapp

创建一个App。

django-admin startapp name [directory]

--template
--extension
--name

compilemessages

编译.po语言文件(该文件通过makemessages方法生成),用于国际化语言支持。

django-admin compilemessages

--locale
--exclude

makemessages

在工程文件所有文件中排查并抽取需要翻译的信息。

django-admin makemessages

--all
--extension
--locale
--exclude
--ignore

开发调试命令

check

检查整体Django工程是否存在潜在问题,项目所需关联文件是否完整。默认情况下,检查工程下的所有应用。

django-admin check [app_label [app_label ...]]

--tag
--list
--deploy
--database

diffsettings

显示当前工程的配置文件与默认Django配置文件的差异。

django-admin diffsettings

--all
--output

runserver

在本地启动

django-admin runserver [addr:port]

--noreload
--nothreading
--ipv6

shell

进入django shell

django-admin shell

--nostartup
--command

sendtestemail

发送测试邮件

django-admin sendtestemail [email [email ...]]

--managers
--admins

test

测试Django工程

django-admin test [test_label [test_label ...]]

--failfast
--testrunner
--noinput
--keepdb
--reverse
--debug-mode
--debug-sql
--parallel
--buffer

testserver

使用给定的数据运行Django开发服务器

django-admin testserver [fixture [fixture ...]]

--addrport

Disclaimer
  1. License under CC BY-NC 4.0
  2. Copyright issue feedback me#imzye.me, replace # with @
  3. Not all the commands and scripts are tested in production environment, use at your own risk
  4. No privacy information is collected here
Try my iOS App