Django 基本命令
Django 基本命令
新建一个 Django Project
这个命令我们在第一章中已经使用,可以翻看之前 HelloWorld 项目建立来实践:
1 | $ django-admin.py startproject project-name |
注意,在 Windows 系统下,如果报错,尝试用 django-admin 代替 django-admin.py。
在输入完该条指令后,系统会在当前目录增加一个项目名目录,并且其中存有最基础的 Django 项目文件。
新建 app
同样,在第一章中已经使用,可以翻看之前建立 Hello app 的操作流程来实践:
1 | $ python3 manage.py startapp app-name |
另有一种写法:
1 | $ django-admin.py startapp app-name |
一般一个项目会存有多个 app ,当然通用的 app 也可以在多个 Django 项目中通用这个 app。
同步数据库
1 | $ python manage.py makemigrations |
这种方法可以创建表,当你在 models.py 中新增类时,运行它就可以自动在数据库中创建表,不用手动创建。
备注:对已有的 models 进行修改,Django 1.7 之前的版本是无法自动修改数据库表结构的,不过有第三方的 south 工具可以使用。
使用开发服务器
开发服务器,即开发时使用,一般修改代码后会自动重启,方便调试和开发,但是由于性能问题,建议只用来测试,不要用在生产环境。
1 | # 默认情况下在 0.0.0.0:8080 启动 |
清空数据库 *
1 | $ python manage.py flush |
此命令会询问是 yes 还是 no,选择 yes 会把数据库全部清空掉,只留下空表。
创建超级管理员 *
1 | $ python manage.py createsuperuser |
导出数据 导入数据 *
1 | $ python manage.py dumpdata appname > appname.json |
关于数据库操作,在后面的数据库课程中会详细介绍。
Django 项目环境终端
1 | $ python manage.py shell |
如果你安装了 bpython 或 ipython 会自动用它们的界面,这里推荐使用 ipython。
这个命令和直接运行 python 进入 shell 的区别是:**你可以在这个 shell 里面调用当前项目的 models.py 中的 API,对于操作数据,还有一些小测试非常方便。
当熟悉使用 shell 环境终端时,你会发现测试新的方法更加的快速,效率成倍提高。(就跟学会了 Vim 一样,并不是想引发圣战 /(ㄒoㄒ)/~~)
数据库命令行 *
1 | $ python manage.py dbshell |
Django 会自动进入在 settings.py 中设置的数据库,如果是 MySQL 或 postgreSQL ,会要求输入数据库用户密码。在这个终端可以执行数据库的 SQL 语句。如果你对 SQL 比较熟悉,可能会喜欢这种方式。
更多 *
直接在终端上输入以下命令,可以看到详细的列表,在忘记参数名时特别有用。
1 | $ python manage.py |
更详细的介绍,还是推荐官网的文档。给你列出三个版本,对应学习。
- 1.10
- 1.8
- deb