Django的配置详解

–总结Django中使用到的配置,以及在什么情况下进行什么样的配置


基础认识

Django 的设置文件包含你安装的Django 的所有配置,设置文件只是一个Python 模块,带有模块级别的变量。

比如下面图片展示的设置:

在这里插入图片描述

注意,如果项目在上线的时候,是不能将DEBUG设置为True,也就是说,你就必须将Debug=False,如果你设置DEBUG 为False,那么你应该正确设置ALLOWED_HOSTS 的值,用来进行访问。

配置文件是一个python文件,所以适用于下面的条件:

  • python语法动态设置
my_setting = [str(i) for i in range(9)]
  • 不允许出现python语法错误
  • 可以通过导包的方式获取相关的参数

指定配置文件

在使用Django的时候,需要通过环境变量DJANGO_SETTINGS_MODULE 来告知Django使用那个配置:
在这里插入图片描述

注意:DJANGO_SETTINGS_MODULE 的值应该使用Python 路径的语法,例如django_test.settings。 注意,设置模块应该在Python 的导入查找路径 中。

Django的默认配置

Django 的设置文件不需要定义所有的设置。 每个设置都有一个合理的默认值。 这些默认值位于django/conf/global_settings.py 模块中;

当然了,我们可以通过python manage.py diffsettings 这条命令来获取当前我们的配置文件中,哪些和默认的不同

在其他python文件中使用settings

在Django 应用中,可以通过导入django.conf.settings 对象来使用配置文件中的相关参数,比如:

from django.conf import settings

if settings.DEBUG:
    # Do something

但是,需要注意的是,django.conf.settings 不是一个模块 ,它是一个对象。 所以不可以导入每个单独的设置:

from django.conf.settings import DEBUG  # 这是错误的

还需要注意的是,你的代码不应该 从global_settings 或你自己的配置文件中导入。 django.conf.settings摘录了默认配置和站点特定设置的概念;它提供了一个单一的接口,就是针对本django框架中的所有配置的;通俗来说,你想要获取配置文件的数据,就用django.conf.settings 这个方式即可。

“独立”Django使用需要调用django.setup()

这个’独立‘的意思就是,运行一个python脚本运行,但是这个脚本是需要依赖django中的一些配置,那么就需要用到django.setup()

比如:
在这里插入图片描述

注意,只有在代码是真正独立的,才需要调用django.setup()。 当Web服务器调用,或通过django-admin调用,Django将会自动处理此相关配置加载的。

django.setup() 只能进行调用一次,如果不能保证只能被调用一次,那么需要在当前文件下这样写:

if __name__ == '__main__':
	import django
	django.setup()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值