在终端(虚拟环境内)直接输入这些命令,而不是在python的shell中。
新建一个 Django Project
django-admin.py startproject project_name
必须要先建立一个项目,然后通过这个项目去管理下面的 APP。
新建 APP
要进入 project_name 然后执行下面的命令
python manage.py startapp app_name
或者 django-admin.py startapp app_name
这个 APP 才是网站的内容。一般一个项目有多个app, 通用的app也可以在多个项目中使用。
创建数据库表 或 更改数据库表 或 字段
python manage.py migrate
使用开发服务器
python manage.py runserver
# 当提示端口被占用的时候,可以用其它端口:
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
清空数据库
python manage.py flush
此命令会询问是 yes 还是 no, 选择 yes 会把数据全部清空掉,只留下空表。
创建超级管理员
python manage.py createsuperuser
#按照提示输入用户名和对应的密码就好了,邮箱可以留空,用户名和密码是必填项。
python manage.py changepasseord username
# 修改 username的用户密码
导出数据 导入数据
python manage.py dumpdata appname > appname.json
python manage.py loaddata appname.json
# Django 项目环境终端
python manage.py sehll
如果你安装了 bpython 或 ipython 会自动用它们的界面,推荐安装 bpython。
这个命令和 直接运行 python 或 bpython 进入 shell 的区别是:你可以在这个 shell 里面调用当前项目的 models.py 中的 API,对于操作数据,还有一些小测试非常方便。
9. 数据库命令行
python manage.py dbshell
Django 会自动进入在settings.py中设置的数据库,如果是 MySQL 或 postgreSQL,会要求输入数据库用户密码。
在这个终端可以执行数据库的SQL语句。如果您对SQL比较熟悉,可能喜欢这种方式。
更多命令
python manage.py