Django manage.py 命令详解
manage.py
查看命令的作用的语句
C:\Users\Administrator> python manage.py help
Type 'manage.py help <subcommand>' for help on a specific subcommand.
Available subcommands:
[auth]
changepassword 更改密码
createsuperuser 创建admin超级用户
[contenttypes]
remove_stale_contenttypes
[django]
check
compilemessages
createcachetable 使用设置文件中的信息创建与数据库高速缓存后端一起使用的高速缓存表
dbshell 进入数据库的命令行
diffsettings 显示当前设置文件和Django默认设置(或所指定的另一个设置文件--default)之间的差异
dumpdata 导出数据库数据
flush 清空数据库
inspectdb 让本地的数据库生成models.py内的代码
loaddata 导入数据库数据
makemessages
makemigrations 生成数据库脚本(迁移文件)
migrate 同步数据库 这个和makemigrations是做数据库迁移,每次数据库有更改或者model有更改都需要操作
sendtestemail 向指定的收件人发送测试电子邮件,测试django是否能够发送邮件
shell django的shell命令行
showmigrations 显示项目中的所有数据迁移
sqlflush 打印将对该flush 命令执行的SQL语句
sqlmigrate
sqlsequencereset
squashmigrations
startapp 创建应用
startproject 创建项目
test 对所有已安装的应用程序运行测试
testserver runserver 使用自定义配置运行服务
[sessions]
clearsessions 可以作为cron作业运行,也可以直接清除过期的会话。
[staticfiles]
collectstatic
findstatic
runserver 启动django服务
manage.py 命令选项
manage.py 是每个Django 项目中自动生成的一个用于管理项目的脚本文件,需要通过python 命令执行。manage.py 接受的是Django 提供的内置命令。
内置命令包含
1 check
2 dbshell
3 diffsettings
4 flush
5 makemigrations
6 migrate
7 runserver
8 shell
9 startapp
10 startprojec
其实有三种方式,可以在cmd 窗口中执行Django 提供的内置命令。
1 django-admin <command> [options]
2 python manage.py <command> [options]
3 python -m django <command> [options]
1 django-admin 是用于管理Django 的命令行工具集,当我们成功安装 Django 后,在操作系统中就会有这个命令。
2 manage.py 则是每个Django 项目中自动生成的一个用于管理项目的脚本文件,需要在cmd窗口中 cd 到 Django项目
的manage.py 所在的目录后通过python命令执行。其中的 command 是Django内置的或者你自定义的命令。
当然你可以在在 pycharm 中启动manage.py 时设置参数。
1 check
检查整个Django 项目是否存在常见问题。默认情况下,所有应用都将被选中。可以通过提供app的名字检查指定的应用:
python manage.py check app
2 diffsettings
显示当前设置文件与Django的默认设置之间的差异。
python manage.py diffsettings
3 flush
从数据库中删除所有数据。
已应用的迁移不会被清除。只删除具体数据,不删除数据表。
如果您希望从空数据库启动并重新运行所有迁移,则应该删除并重新创建数据库,然后再运行 migrate,这样会连原
来的数据表都删了。
python manage.py flush
4 makemigrations
根据检测到的模型创建新的迁移。
迁移的作用,更多的是将数据库的操作,以文件的形式记录下来,方便以后检查、调用、重做等等。
尤其是对于Git版本管理,它无法获知数据库是如何变化的,只能通过迁移文件中的记录来追溯和保存。
python manage.py makemigrations app1 app2
5 migrate
使数据库状态与当前模型集和迁移集同步。
说白了,就是将对数据库的更改,主要是数据表设计的更改,在数据库中真实执行。
例如,新建、修改、删除数据表,新增、修改、删除某数据表内的字段等等。
python manage.py migrate
6 runserver
启用Django 为我们提供的轻量级的开发用的Web 服务器。
默认情况下,服务器运行在IP地址127.0.0.1 的 8000 端口上。
如果要自定义服务器端口和地址,可以显式地传递一个IP地址和端口号给它。
python manage.py runserver
python manage.py runserver 127.0.0.1:8080 # 当提示端口被占用的时候,可以用其它端口
7 shell
启动带有Django 环境的Python 交互式解释器,也就是命令行环境。
默认使用基本的python 交互式解释器。这个命令非常常用,是我们测试和开发过程中不可或缺的部分!
python manage.py shell
8 startapp
创建新的 app。默认情况下,会在这个新的 app 目录下创建一系列文件模版,比如models.py、views.py、admin.py等等。
python manage.py startapp app_name
9 startproject
新建工程。默认情况下,新目录包含 manage.py 脚本和项目包(包含 settings.py 和其他文件)。
python manage.py startproject project_name
10 test
运行所有已安装的 app 的测试代码。
python manage.py test [test_label [test_label ...]]
app提供的命令
前面是Django核心提供的命令项,下面则是一些内置app,比如auth等提供的命令项。它们只在对应的app启用的时候才可用。
changepassword
createsuperuser
clearsessions
collectstatic