Django Settings
include
include--from django.conf.urls import includeinclude()如果包含有其他url patterns 都应该使用include
settings.py
https://docs.djangoproject.com/en/1.11/topics/settings/
LANGUAGE_CODE = 'zh_cn'TIME_ZONE = 'Asia/Shanghai'- 如果设置
DEBUG = False, 则 需要设置ALLOWED_HOSTS = ['www.example.com'] DEFAULT_FROM_EMAIL = 'webmaster@example.com'DJANGO_SETTINGS_MODULE-- 环境变量,其值应该是一个python模块路径,例如mysite.settings,而且这个文件应该在python导入搜索路径上(import search path)- 当使用
django-admin开发服务器可以这样设置DJANGO_SETTINGS_MODULE的值:# Unix Bash Shell export DJANGO_SETTINGS_MODULE=mysite.settings django-admin runserver # Windows Shell set DJANGO_SETTINGS_MODULE=mysite.settings django-admin runserver # 或者直接使用 --settings参数 django-admin runserver --settings=mysite.settings - 在其他服务器上(mod_wsgi)
# 例如在wsgi.py文件中可以这样写 import os os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings' - 如果没有任何设置文件,则默认这是为
django/conf/global_settings.py - 可以使用
python manage.py diffsettings查看当前设置与默认设置的区别,具体查看 - 在python代码中使用settings
# 正确的做法 from django.conf import settings if settings.DEBUG: # Do something # settings是一个object,所以以下的做法是错的: from django.conf.settings import DEBUG # 不要在python代码中改变settings,即只读不写,以下为错误示范 from django.conf import settings settings.DEBUG = True # 如果想改,可以这样。。。。也可以传递其他关键字参数修改设置 settings.configure(DEBUG=True)
- 当使用
APPEND_SLASHdefault: True- 设置为True时,如果请求的url不能和URlconf patterns匹配,而且该url不是以
/结尾,则会被重定向到一个加了/的url,注意: 丢失
- 设置为True时,如果请求的url不能和URlconf patterns匹配,而且该url不是以

浙公网安备 33010602011771号