2017-10-23 19 views
-1

私のUbuntuサーバーにDjango (v1.11.6)アプリを持っています。Python 3.5 (not using virtualenv)です。django:/ etc/apache2/envvarの環境変数を設定していません

しかし、私はDjangoのmod_wsgiに環境変数を設定したいと思います。

私はvirtualenvを使用していないので、/etc/apache2/envvarに設定します。しかしapache2サービスはそれらを得ることができません。 settings.pyで

私はSECRET_KEY = get_env_variable("GA_SECRET_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 

は、あなたがこの問題を解決する方法を知っていますか?

答えて

0

は、私のようなapache2.confファイルにenvironent変数を設定する必要があります。その後、

SetEnv SECRET_KEY '123456778877' 

そしてwsgi.pyファイルに次のコードを持っている:django.core.wsgiインポートget_wsgi_application

_applicationから

を= get_wsgi_application()

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) 

そして、settings.pyのファイルには、次のものが含まれています。

SECRET_KEY = os.environ[SECRET_KEY] 
関連する問題