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 makemigrationspython 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可以看到详细的列表,在忘记子名称的时候特别有用。