Django_Basic_Commands - QLGQ/learning-python GitHub Wiki
Django基本命令
打开linux终端直接在终端中输入以下命令即可。
新建一个django project
命令:django-admin.py startproject project-name
。
一个project为一个项目,project-name为项目名称,要符合Python的变量命名规则(以下划线或字母开头)。
新建app
命令:python manage.py startapp app-name
,或者django-admin.py startapp app-name
。
一般一个项目有多个app,当然通用的app也可以在多个项目中使用。
同步数据库
命令:python manage.py makemigrations
,python manage.py migrate
。
这种方法可以创建表,当你在models.py中新增了类时,运行它就可以自动在数据库中创建表了,不用手动创建。
Django1.7.1(不包括)之前的版本需要用以下命令:python manage.py syncdb。
使用开发服务器
开发服务器,即开发时使用,一般修改代码后会自动重启,方便调试和开发,但是由于性能问题,建议只用来测试,不要用在生产环境。
python manage.py runserver
# 当提示端口被占用的时候,可以用其他端口:
python manage.py runserver 8001
python manage.py runserver 9999
(当然也可以kill掉占用端口的进程)
# 监听所有可用ip(电脑可能有一个或多个内网ip,一个或多个外网ip,即有多个ip地址)
python manage.py runserver 0.0.0.0:8000
# 如果是外网或者局域网电脑上可以用其他电脑查看开发服务器
# 访问对应的ip加端口,比如http://172.16.20.2:8000
清空数据库
命令:python manage.py flush
。
此命令会询问是yes还是no,选择yes会把数据全部清空掉,只留下空表。
创建超级管理员
命令:python manage.py createsuperuser
。
按照提示输入用户名和对应的密码就好了,邮箱可以留空,用户名和密码必填。
修改用户密码可以用命令:python manage.py changepassword username
。
导出/导入数据
导出数据:python manage.py dumpdata appname > appname.json
。
导入数据:python manage.py loaddata appname.json
。
Django项目环境终端
命令:python manage.py shell
。
如果你安装了bpython或ipython会自动用它们的界面,推荐安装bpython。这个命令和直接运行python或bpython进入shell的区别是:你可以在这个shell里面调用当前项目的models.py中的API,对于操作数据,还有一些小测试非常方便。
数据库命令行
命令:python manage.py dbshell
。
Django会自动进入在settings.py中设置的数据库,如果是MySQL或postgreSQL,会要求输入数据库用户密码。在这个终端可以执行数据库的SQL语句。
更多命令
在终端上输入python manage.py
可以看到详细的列表,在忘记子名称的时候特别有用。