gpt4 book ai didi

django - 通过 uwsgi 设置 DJANGO_SETTINGS_MODULE

转载 作者:行者123 更新时间:2023-12-04 20:47:27 27 4
gpt4 key购买 nike

我正在尝试找到拆分我的 Django 设置的最佳方法,并为开发和生产提供不同的设置文件。

我的 wsgi 文件:

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

在我的 uwsgi.ini 文件中我有这个:

env = DJANGO_SETTINGS_MODULE=project.settings.local
wsgi-file = project/wsgi.py

但是 uwsgi.ini 文件中的 env 没有传递给 wsgi。如果我在 wsgi 文件中打印 os.environ,则未设置 DJANGO_SETTINGS_MODULE。

有什么想法吗?

最佳答案

我喜欢在 wsgi.py 中做这样的事情:

import os
import socket

socket_name = socket.gethostname()
if "stage" in socket_name:
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myproject.settings.staging')
elif "prod" in socket_name:
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myproject.settings.production')
else:
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myproject.settings.local')

application = get_wsgi_application()

检测您是在暂存、生产还是本地的方法可以是任何您喜欢的方法,但是 os.environ.setdefault 命令似乎会完成您希望做的事情。

关于django - 通过 uwsgi 设置 DJANGO_SETTINGS_MODULE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31790917/

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