gpt4 book ai didi

python - 编写python包在django内外运行

转载 作者:太空宇宙 更新时间:2023-11-04 01:13:01 25 4
gpt4 key购买 nike

我正在编写 python 帮助程序包以在我的 django 项目中运行,但我也想在其他常规 python 代码(例如 django 之外)中使用它。

问题是我想从 django conf.settings 或其他模块(如果它在 django 之外)获取设置。例如。像这样的东西:

try:
from django.conf import settings
except ImportError:
import my_settings as settings

value = settings.SOME_SETTINGS

问题是 django.conf 导入不会失败,因为安装了 django。所以问题是检查我是否在 django 中的标准方法是什么?

谢谢。

最佳答案

您可以将路径附加到您的 Django 应用程序,然后导入应用程序的设置并像在 Django 应用程序中一样使用它:

import sys, os
sys.path.append('/path/to/your/django/app')
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
from django.conf import settings

只要设置正确,您也可以删除 sys.path.append!

在 Django 中,您可以检查 DJANGO_SETTINGS_MODULE 是否在 os.environ 中,然后加载它:

# If we are outside a Django app append the app path
# to the python path to import the setting
if 'DJANGO_SETTINGS_MODULE' not in os.environ:
sys.path.append('/path/to/your/django/app')
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

# This way the setting will be imported in both cases
from django.conf import settings

关于python - 编写python包在django内外运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26510142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com