Django setting文件包含了所有关于你的Django的信息。这个文章将会解释这个怎么工作的。还有那些是可用的。
settings文件就和Python的模块一样。比如下面就有一些设置。
ALLOWED_HOSTS = ['www.example.com']
DEBUG = False
DEFAULT_FROM_EMAIL = '[email protected]'
如果你将DEBUG设置为false,你也需要设置ALLOWED_HOSTS.
因为setting是一个python文件。所以就需要遵循下面的规则。
不能有python语法的错误。
可以通过普通的python语法进行动态的绑定值。比如。 MY_SETTING = [1,2,3,4]
也可以通过import从其他settings模块导入数据。
默认settings
一个djangosettings文件,可以为空。每一个setting都有一个默认值,在模块。django/conf/global_settings.py
.中。
下面就是django进行编译的算法。
首先从 global_settings.py中加载settings。
然后从指定的settings文件中加载。如果有必要可以重载settings变量。
需要注意的是,不能从global_settings中进行导入。我们可以通过指令查看我们改变了的settings值。
python manage.py diffsettings,这个将会展示运行结果的不同。
在Python代码中使用,通过倒入 django.conf.settings来进行倒入设置。
比如from django.conf import settings if settings.DEBUG: # Do something
需要注意的是settings是一个对象。dict对象。
还有就是你的code不能从global_settings中导入,也不能从自己的settings中导入。
不建议修改这个值,最好是在settings文件中修改。
因为文件中保留了敏感的数据。比如数据库密码,你需要尽量的限制所有的访问。比如,修改文件的权限,只能web服务器的使用者才可以读取。这个在共享的环境中很重要。
创建自己的setting文件。
1:全部大写。
2:不进行重复命名。