一、新建一个 django project
django-admin.py startproject project_name
在 windows 上,如果报错,尝试用 django-admin 代替 django-admin.py 试试
备注:project_name 是自己的项目名称。
二、新建 app
要先进入项目目录下,cd project_name 然后执行下面的命令
python manage.py startapp app_name
或 django-admin.py startapp app_name
一般一个项目有多个app, 当然通用的app也可以在多个项目中使用。
三、创建数据库表 或 更改数据库表或字段
1. 创建更改的文件或者执行更改动作
python manage.py makemigrations
2. 将生成的py文件应用到数据库
python manage.py migrate
备注:
在测试环境中有这样的情况,误删除了数据库中的一张表,同时也将创建数据库的类也注销掉了,执行 migrate 报错,需要使用 migrate 的 fake 参数
python manage.py makemigrations 删除动作创建
python manage.py migrate --fake 告诉django,不需在数据库执行了,只是在本地做下变更就好了。
四、使用开发服务器
开发服务器,即开发时使用,一般修改代码后会自动重启,方便调试和开发,但是由于性能问题,建议只用来测试,不要用在生产环境。
python manage.py runserver
# 当提示端口被占用的时候,可以用其它端口:
python manage.py runserver 8000
python manage.py runserver 8888
# 监听机器所有可用 ip
python manage.py runserver 0.0.0.0:8000
# 访问对应的 ip加端口,比如 http://172.16.20.2:8000
五、清空数据库
python manage.py flush
六、创建超级管理员
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
这个命令和 直接运行 python 或 bpython 进入 shell 的区别是:
你可以在这个 shell 里面调用当前项目的 models.py 中的 API,对于操作数据,还有一些小测试非常方便。
九、数据库命令行
python manage.py dbshell
Django 会自动进入在settings.py中设置的数据库,如果是 MySQL 或 postgreSQL,会要求输入数据库用户密码。
在这个终端可以执行数据库的SQL语句。如果您对SQL比较熟悉,可能喜欢这种方式。
十、导出admin中的样式
首先在settings.py中配置STATIC_ROOT路径,并创建此目录
STATIC_ROOT = "{}/static".format(BASE_DIR)
执行以下命令即可
python manage.py collectstatic
##扩展:设置静态文件路径
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "statics"),
)
十一、在admin 中显示自定义时间格式
在settings.py中配置时间格式
USE_L10N = False
DATETIME_FORMAT = 'Y-m-d H:i:s'
DATE_FORMAT = 'Y-m-d' #这些格式是自己自定义的
十二、在admin 里面中文显示
在settings.py中配置
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'UTC'
# TIME_ZONE = 'Asia/Shanghai' #用这个会给时间自动增加8个小时
十三、配置缓存
在settings.py中配置
SESSION_COOKIE_AGE = 60 * 60 * 24
SESSION_SAVE_EVERY_REQUEST = True