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

标签:django,DJANGO,SETTINGS,MODULE
0
投稿

猜你喜欢

  • python实现搜索本地文件信息写入文件的方法

    2023-01-19 10:21:47
  • Pycharm使用之设置代码字体大小和颜色主题的教程

    2021-09-07 00:27:14
  • Python学习笔记之装饰器

    2021-03-03 02:02:48
  • Python venv虚拟环境配置过程解析

    2021-11-30 20:21:48
  • 使用mysqli完成事务处理

    2011-03-29 15:49:00
  • asp如何准确获知对方来访问的时间和URL?

    2010-07-07 12:25:00
  • 如何Shrink Undo表空间,释放过度占用的空间

    2010-07-16 13:17:00
  • 基于OpenCV实现视频循环播放

    2023-07-13 09:10:33
  • vue表单自定义校验规则介绍

    2024-04-30 10:25:10
  • Python实现字典按照value进行排序的方法分析

    2022-11-03 04:27:27
  • python装饰器三种装饰模式的简单分析

    2022-06-26 17:29:46
  • 在线HTML编辑器原理(eweb原理)

    2009-01-08 12:25:00
  • MySQL中create table as 与like的区别分析

    2024-01-15 08:25:17
  • MySQL中处理各种重复的一些方法

    2024-01-12 17:45:14
  • python利用socketserver实现并发套接字功能

    2021-01-28 16:36:45
  • 能否用显示/隐藏层来控制FLASH播放与停止

    2008-10-27 14:08:00
  • SQL Server中的XML数据类型详解

    2024-01-15 20:56:44
  • Python获取协程返回值的四种方式详解

    2023-10-03 15:13:21
  • 细化解析:MySQL 数据库中对XA事务的限制

    2009-01-14 11:59:00
  • python 多线程将大文件分开下载后在合并的实例

    2023-05-12 06:27:36
  • asp之家 网络编程 m.aspxhome.com