python - Django : is it better to import variables from a settings. py文件,还是基本配置文件?

标签 python django configuration settings

我想知道从 settings.py 文件中将变量导入 View 是否更好?或者更好地创建一个包含所需变量的配置文件?

我倾向于为我的 Django 应用程序编写配置文件,在必要时从那里读取和导入变量。例如:

.configrc

[awesomeVariables]
someMagicNumber = 7

views.py

from ConfigParser import SafeConfigParser
#Open and parse the file
config = SafeConfigParser()
config.read(pathToConfig)
#Get variable
magicNumber   = config.get('awesomeVariables', 'someMagicNumber'))

但是,我注意到一些程序员更喜欢以下内容:

settings.py

SOME_MAGIC_NUMBER=7

views.py

import settings
magicNumber = settings.SOME_MAGIC_NUMBER

我很好奇不同方法的优缺点?直接从您的设置中导入变量会损害架构的完整性吗?

最佳答案

这是一个判断电话。使用设置模块是“Django 方式”,尽管您应该执行 from django.conf import settings; settings.MY_SETTING,它将遵循 DJANGO_SETTINGS_MODULE。但 Django 只是 Python;没有什么可以阻止您使用 ConfigParser。为了只在一个地方定义这些东西,我建议将它放在 Django 设置文件中——但如果你有理由不这样做,那就不要这样做。

关于python - Django : is it better to import variables from a settings. py文件,还是基本配置文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8855875/

相关文章:

python - 在 nose 或 pytest 中收集以编程方式生成的测试套件的好方法

python - 如何设置 celery 队列中的最大工作线程数?

django - django 的 OneToOneField 和 django 的 OneToOneRel 的区别

python - 附加 true 或 false 的函数无法正常工作

python - 我得到了查询集,如何获取相关对象?

python - 在哪里放置适用于模型的方法

linux - 市场上是否有用于 Linux 服务器的配置软件?

javascript - 如何使用私有(private)方法正确配置 ES6 类的 eslint?

java - Apache Ignite 中的过期策略

python - cURL 流作为 python 模块的标准输入