Django开发常用指令

本文最后更新于:2024年4月20日 下午

Django相关指令

django-admin.py和manage.py这两个文件代码和包含命令基本是一样的,只不过django-admin.py一般只用来创建项目,而manage.py用来管理创建好了的项目。

创建新项目

1
django-admin.py startproject [project_name]

注意: windows系统下请用django-admin startproject [xxx]

创建新应用

1
python manage.py startapp [app_name]

注意: 你需要先cd进入创建的项目文件夹

检测模型变化,生成新的数据库迁移文件

1
python manage.py makemigrations [app_label]

注意: app名字可选。如果一个项目包含多个app,而你只更改了其中一个app的模型,建议后面加入具体的app名

同步数据库与模型

1
python manage.py migrate

启动服务器

1
python manage.py runserver 0.0.0.0:8000

创建超级用户

1
python manage.py createsuperuser

修改用户密码

1
python manage.py changepassword [username]

打开交互终端

1
2
python manage.py shell
python manage.py dbshell(数据库交互)

查看当前版本

1
python manage.py version

搜集静态文件

1
python manage.py collectstatic

数据库备份与恢复

  1. 备份
1
2
3
4
# 备份某一个APP
python manage.py dumpdata app_name --format=json > app.json
# 备份整个db
python manage.py dumpdata --format=json > bak.json
  1. 恢复
1
python manage.py loaddata app.json

一些不常用的指令 相对意义上的不常用,也可能由于笔者水平所限,暂时尚未使用过以下指令

1
2
3
4
5
6
7
8
python manage.py flush	# 清空数据库内容,只留下空表
python manage.py test # 开始测试
python manage.py createcachetable # 创建缓存表
python manage.py check # 检测项目有没有问题
python manage.py inspectdb [table] # 根据已有数据库反向生成django模型。你可以选择数据表名字
python manage.py makemessages # 搜集所有的messages,可以生成指定文件格式如xml文件,供后期翻译
python manage.py sendemail [email] # 发送测试邮件
python manage.py showmigrations # 显示所有数据库迁移文件

Python相关指令

生成requirements.txt文件

1
pip freeze > requirements.txt

安装requirements.txt依赖

1
pip install -r requirements.txt

关闭全部 Python 进程

1
2
taskkill -f -im python
taskkill -f -im python.exe

celery相关指令

启动 celery 的后台任务

1
celery -A [project_name] beat -l info --scheduler django_celery_beat.schedulers:DatabaseScheduler 

1
python manage.py celery worker --settings=settings -l info -c 4 --autoreload

启动 celery 的周期任务

1
celery worker -A [project_name] -l info 

或者

1
python manage.py celery beat

uwsgi相关指令

启动

1
uwsgi --ini uwsgi.ini

重启

1
uwsgi --reload uwsgi.pid  

关闭

1
uwsgi --stop uwsgi.pid

强制关闭

1
ps aux|grep uwsgi|awk '{print $2}'|xargs kill -9

读取uwsgi实时状态

1
uwsgi --connect-and-read uwsgi/uwsgi.status

Django开发常用指令
https://yance.wiki/Django开发常用指令/
作者
Yance Huang
发布于
2019年5月5日
许可协议