django settings

Django的settings文件包含Django应用的所有配置项。

因为配置文件是Python模块,所以要注意以下几项:

  • 不能有Python语法错误

  • 可以用Python语法实现动态配置,例如:

    MY_SETTING = [str(i) for i in range(30)]
    
  • 可以从其他配置文件中引入变量

指定配置文件

使用Django时要通知Django当前使用的是哪个配置文件。可以改变环境变量 DJANGO_SETTINGS_MODULE 实现这一点。

例子(Windows shell):

set DJANGO_SETTINGS_MODULE=mysite.settings
django-admin runserver
On the server (mod_wsgi)

在服务器环境下,要通知WSGI应用当前使用的是哪个配置文件,用到 os.environ:

默认配置

在无需配置的情况下,Django配置文件没必要定义任何配置项。因为每个配置项都有一个明确的默认值。默认值都保存在模块 django/conf/global_settings.py 中.

查看你已经更改了哪个配置项

查看你修改了哪几个配置项很容易, 在命令行输入 python manage.py diffsettings 就会显示当前配置与默认配置中的不同。

在Python代码中使用settings

在具体的Django应用中, 通过引入 django.conf.settings 使用配置

运行时更改设置

不建议在运行时更改设置

安全

由于配置文件包含敏感信息, 比如数据库密码, 所以应该限制对配置文件的访问. 比如更改文件权限, 从而只能令你和你的WEB服务器能读取配置文件. 这在共享主机的环境中非常重要

可用的配置项

1 BASE_DIR :项目所在绝对路径

2 DEBUG : 调试模式
开发过程中,推荐使用 True
上线运行时,必须改为 False

3 SECRET_KEY 密匙 如果为空,django不能启动,影响django安全性

4 ALLOWED_HOSTS

如果不设置,只有本机能访问
通常推荐设置为 '*'

5 INSTALLED_APPS
指定安装的应用
6 MIDDLEWARE : 指定中间件

7 ROOT_URLCONF : 指定项目的基础路由配置文件

8 TEMPLATES : 指定模板信息

9 WSGI_APPLICATION:wsgi的协议对象

10 DATABASES : 指定数据库信息

11 AUTH_PASSWORD_VALIDATORS:密码验证规则

12 LANGUAGE_CODE : 指定语言,可修改为 zh-Hans

13 TIME_ZONE : 指定时区,可修改为 Asia/Shanghai

14 STATIC_URL:静态路径

15 USE_I18N:一个布尔值,指定是否应启用Django的翻译系统。这提供了一种简单的方法来关闭它,以提高性能。如果设置为 False,Django将进行一些优化,以便不加载翻译机制.

16 USE_L10N:一个布尔值,指定默认情况下是否启用数据的本地化格式。如果设置为True,例如Django将使用当前语言环境的格式显示数字和日期.

17 USE_TZ:本地时间和格林威治时间的切换.

 
原文地址:https://www.cnblogs.com/xiaozx/p/10477735.html