三、Django基本命令:
本节主要是为了您了解一些django的最基本的命令,请尝试着记住它们,并且多多练习
打开Linux或MacOS的Terminal终端,直接在终端输入这些命令(不是python的shell中)
如果是windows用cmd(开始搜索cmd或者快捷键 win+R,输入cmd),直接在cmd上进行操作
1.新建一个django project
python django-admin.py startproject project_name
特别是在windows上,如果报错,尝试用django-admin来代替django-admin.py试试
2新建app
要先进入项目的目录下,cd project_name然后执行下面的命令(下同,已经在项目的目录下则不需要 cd project_name)
python manage.py startapp app_name
或 django-admin.py startapp app_name
一般一个项目中有多个app,当然通用的app也可以在多个项目中使用
3.创建数据库表或更改数据库表或字段
Django 1.7.1以及以上使用以下的命令
1.创建更改的文件
python manage.py makemigrations
2.将生成的py文件应用到数据库
python manage.py migrate
旧版本的Django 1.6以及以下用
python manage.py syncdb
这种方法可以在SQL等数据库中创建与model.py代码对应的表,不需要自己手动执行sql
备注:对已有的models进行修改,Django1.7之前的版本的Django都是无法自动更改表结构的,不过有第三方工具south,详见 Django数据库迁移一节
4.使用开发服务器
开发服务器,即开发时使用,一般修改代码后会自动重启,方便调试和开发,但是由于性能问题,建议只用来测试,不要用在生产环境中。
python manage.py runserver 8001
python manage.py runserver 9999
(当然也可以kill掉占用端口的进程,具体后面有讲,此处想知道的同学可查下 lsof的用法)
#监听机器所有可用的 ip (电脑可能有多个内网ip或多个外网ip)
python manage.py runserver 0.0.0.0:8000
#如果是外网过着局域网电脑上可以用其他电脑查看开发服务器
#访问对应的ip加端口,比如 http://172.16.20.2:8000
5.清空数据库
python manage.py flush
此命令会询问是yes还是no,选择yes会把数据全部清空掉,只留下空表
6.创建超级管理员
python manage.py createsuperuser
#按照提示输入用户名和对应的密码就好了,邮箱可以留空,用户名和密码必填
#修改 用户密码可以用
python manage.py changepassword username
7.导入数据 导出数据
python manage.py dumpdata appname > appname.json
python manage.py loaddata appname.json
8.Django项目环境终端
python manage.py shell
如果您安装了bpython或者 ipython会自动用它们的界面,推荐安装bpython
这个命令和直接运行python或bpython进入shell的区别是: 你可以在这个shell里面调用调用当前项目的models.py中的api,对于操作数据,还有一些小测试非常方便
9.数据库命令行
python manage.py dbshell
Django会自动进入在settings.py中设置的数据库
10更多命令:
终端上输入 python manage.py 可以看到详细的列表,在忘记子名称的时候特别有用