学习Django你需要了解常见命令的使用,比如创建项目,创建应用,创建超级用户,数据表创建及更新,启动服务器等。这些命令都包含在django-admin.py和manage.py里。除此以外manage.py还包含其它有用的命令,我们今天就来看一看。
django-admin.py和manage.py常用命令
这两个文件代码和包含命令基本是一样的,只不过django-admin.py一般只用来创建项目,而manage.py用来管理创建好了的项目。
创建新项目 django-admin.py startproject project_name #(注意: windows系统下请用django-admin startproject xxx)
创建新应用 python manage.py startapp app_name #(注意: 你需要先cd进入创建的项目文件夹)
(注意: app名字可选。如果一个项目包含多个app,而你只更改了其中一个app的模型,建议后面加入具体的app名)
python manage.py makemigrations [app_label] #检测模型变化,生成新的数据库迁移文件
python manage.py migrate #同步数据库与模型
python manage.py makemigrations
--empty your appname #对数据库中的数据进行修改,首先建立一个空的migration文件
python manage.py runserver #启动服务器
python manage.py createsuperuser #创建超级用户
python manage.py changepassword username #修改用户密码
python manage.py shell python manage.py dbshell #(数据库交互)打开交互终端
python manage.py version #查看当前版本
django-admin.py和manage.py其它命令
python manage.py flush #清空数据库内容,只留下空表
python manage.py test #开始测试
python manage.py collectstatic #搜集静态文件
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 #显示所有数据库迁移文件
数据迁移
不指定 appname 时默认为导出所有的app
python manage.py dumpdata myapp > myapp.json #导出数据
python manage.py loaddata myapp.json #数据导入