django配置DJANGO_SETTINGS_MODULE的实现
作者:我就叫贝塔 发布时间:2023-06-18 20:14:26
DJANGO_SETTINGS_MODULE
使用Django时要通知Django当前使用的是哪个配置文件。可以改变环境变量 DJANGO_SETTINGS_MODULE 实现这一点。
当我们使用manage.py运行起本地的web服务器时,为了让Django知道使用哪个配置文件,就指定了DJANGO_SETTINGS_MODULE的环境变量的路径,我们看下manage.py
import os
import sys
if __name__ == "__main__":
?? ?# test1是我的主应用名字
? ? os.environ.setdefault("DJANGO_SETTINGS_MODULE", "test1.settings")
? ? try:
? ? ? ? from django.core.management import execute_from_command_line
? ? except ImportError:
? ? ? ? # The above import may fail for some other reason. Ensure that the
? ? ? ? # issue is really that Django is missing to avoid masking other
? ? ? ? # exceptions on Python 2.
? ? ? ? try:
? ? ? ? ? ? import django
? ? ? ? except ImportError:
? ? ? ? ? ? raise ImportError(
? ? ? ? ? ? ? ? "Couldn't import Django. Are you sure it's installed and "
? ? ? ? ? ? ? ? "available on your PYTHONPATH environment variable? Did you "
? ? ? ? ? ? ? ? "forget to activate a virtual environment?"
? ? ? ? ? ? )
? ? ? ? raise
? ? execute_from_command_line(sys.argv)
Django的设置和配置。
值将从DJANGO_SETTINGS_MODULE环境指定的模块中读取
变量,然后从django.conf.global_settings(此为django的默认设置)
为什么不能用import settings
import settings will import the first python module named settings.py found in sys.path, usually (in default django setups). It allows access only to your site defined settings file, which overwrites django default settings (django.conf.global_settings).So, if you try to access a valid django setting not specified in your settings file you will get an error.django.conf.settings is not a file but a class making an abstraction of the concepts, default settings and your site-specific settings. Django also does other checks when you use from django.conf import settings.from django.conf import settings 是更好的选择
import settings将导入sys中第一个名为settings.py的python模块。通常(在默认的django设置中)。它只允许访问站点定义的设置文件,该文件覆盖django的默认设置(django.conf.global_settings
)。
因此,如果尝试访问未在设置文件中指定的有效django设置,将会得到一个错误。
django.conf.settings 不是一个文件,而是一个抽象概念、默认设置和站点特定设置的类。当您使用from django.conf import settings,Django还会执行其他检查。
from django.conf import settings是更好的选择
Django settings详解
1.基础
DJANGO_SETTING_MODULE环境变量:让settings模块被包含到python可以找到的目录下,开 * 况下不需要,我们通常会在当前文件夹运行,python可以搜索到。如果需要运行在其他服务器上,就必须指定DJANGO_SETTINGS_MODULE变量。
2.默认设定
一个django的settings文件不需要我们手动去设置所有项目,因为系统已经默认设置好了。我们只需要修改我们使用的设
定就好了。默认的设置在django/conf/global_settings.py文件中。django在编译时,先载入global_settings.py中的配置,然后加载指定的settings文件,重写改变的设定。
来源:https://blog.csdn.net/weixin_44984864/article/details/106635015
猜你喜欢
- 1、 在vue文件的html中引入element的上传控件,代码如下:<div> <el-upload action=&q
- 在一个字符串中,如果某个序列具有特殊的含义,每个序列以反斜线符号 (“”)开头,称为转义字符。 MySQL 识别下列转义字符:0 一个 AS
- 刚才要说的是这几天亲身体验了一下ebay的AIR感觉挺不错的,无论从界面,交互,功能上都感觉挺好的。关于topic中的“剑走偏锋”是因为我认
- 背景有一个项目,今年12月份开始重构,项目涉及到了socket。但是socket用的是以前一个开发人员封装的包(这个一直被当前的成员吐槽为什
- 事务日志记录着在相关数据库上的操作,同时还存储数据库恢复(recovery)的相关信息。收缩日志的原因有很多种,有些是考虑空间不足,有些则是
- vue自定义keepalive组件前一阵来了一个新的需求,要在vue项目中实现一个多开tab页面的功能,本来心想,这不简单嘛就是一个增加按钮
- 如何获取实时股票信息股票信息的接口有很多,之前大家常用的是新浪的,但在年初的时候,新浪的接口突然不能使用,给大家造成了很大的困扰,为此网上也
- 最近用Python写了个 * ,需要部署到Linux环境的服务器上,由于之前本地开发时使用virtualenv,使用这个虚拟环境有个好处是项目
- k-means 聚类算法思想先随机选择k个聚类中心,把集合里的元素与最近的聚类中心聚为一类,得到一次聚类,再把每一个类的均值作为新的聚类中心
- 你一定听说过这句著名的数据科学名言:在数据科学项目中, 80% 的时间是在做数据处理。如果你没有听过,那么请记住:数据清洗是数据科学工作流程
- CONSTRAINT约束,即对数据库表中的数据进行约束,以保证数据记录的完整性和有效性。比较常用的是,创建表时添加约束,但是为了整理记录,这
- 对于js中eval()函数的理解和写一个函数trim()去掉字符串左右空格。 trim()是参照了jquery的源码,你可以放心使用。 对于
- 一、用Python创建一个新文件,内容是从0到9的整数, 每个数字占一行:#python >>>f=open('f
- 最近终于找到一个好的方法,使用Python的OpenCV模块识别滑动验证码的缺口,可以将滑动验证码中的缺口识别出来了。 测试使用如
- 这篇文章主要介绍了如何基于Python制作有道翻译小工具,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的
- 1.Order By原理MySQL的Order By操作用于排序,并且会有多种不同的排序算法,他们的性能都是不一样的。假设有一个表,建表的s
- 数据类型:定义列中可以存储什么数据以及该数据实际怎样存储的基本规则。数据类型用于以下目的:1、允许限制可存储在列中的数据。如:数值数据类型列
- <body> <script> //关闭DIV MENU function MenuClose() { var Me
- 对于商业数据库而言,数据库升级是一个优先级很高的事情,有版本升级路线图,有相应的补丁,而且对于方案还有一系列的演练,显然是一场硬仗。而在My
- 1、下载安装MySQLdb类库http://www.djangoproject.com/r/python-mysql/2、修改setting