Python django:在/etc/apache2/envvar中设置环境变量不起作用
我的Ubuntu服务器上有一个DjangoPython django:在/etc/apache2/envvar中设置环境变量不起作用,python,django,apache,Python,Django,Apache,我的Ubuntu服务器上有一个Django(v1.11.6)应用程序,它有Python 3.5(不使用virtualenv) 但是,我想在mod_wsgi中为Django设置环境变量 因为我没有使用virtualenv,所以我设置了/etc/apache2/envvar。但是apache2服务无法获取它们 在settings.py中,我有SECRET\u KEY=get\u env\u变量(“GA\u SECRET\u KEY”),但apache会引发以下错误: [Mon Oct 23 14:0
(v1.11.6)
应用程序,它有Python 3.5(不使用virtualenv)
但是,我想在mod_wsgi中为Django设置环境变量
因为我没有使用virtualenv
,所以我设置了/etc/apache2/envvar
。但是apache2服务无法获取它们
在settings.py中,我有SECRET\u KEY=get\u env\u变量(“GA\u SECRET\u KEY”)
,但apache会引发以下错误:
[Mon Oct 23 14:03:29.180611 2017] [wsgi:error] [pid 30062] [client 194.42.16.145:13576] SECRET_KEY = os.environ("GA_SECRET_KEY")
[Mon Oct 23 14:03:29.180630 2017] [wsgi:error] [pid 30062] [client 194.42.16.145:13576] TypeError: '_Environ' object is not callable
你知道如何解决这个问题吗?我必须在
apache2.conf
文件中设置环境变量,如下所示:
SetEnv SECRET_KEY '123456778877'
然后在wsgi.py
文件中有以下代码:
从django.core.wsgi导入获取\u wsgi\u应用程序
def application(environ, start_response):
# pass the WSGI environment variables on through to os.environ
os.environ['SECRET_KEY'] = environ['GA_SECRET_KEY']
return _application(environ, start_response)
_application=get\u wsgi\u application()
然后在settings.py
文件中:
SECRET_KEY = os.environ[SECRET_KEY]