本文最后更新于:2025年1月12日 凌晨
                  
                
              
            
            
              
                
                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 2 3 4
   | # 备份某一个APP python manage.py dumpdata app_name --format=json > app.json # 备份整个db python manage.py dumpdata --format=json > bak.json
 
  | 
 
- 恢复
 
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 --reload uwsgi.pid  
 
  | 
 
关闭
强制关闭
1
   | ps aux|grep uwsgi|awk '{print $2}'|xargs kill -9
 
  | 
 
读取uwsgi实时状态
1
   | uwsgi --connect-and-read uwsgi/uwsgi.status
 
  |