私はdjango 1.5.11をサイトディレクトリにないロケールフォルダを持つ翻訳に使用しています。正しいフォルダを設定するためにLOCALE_PATHS変数を使用しました。 runserverを使用してアプリケーションを起動すると、マシンまたはサーバーのいずれかで翻訳が正しく機能します。問題は私がwsgiでそれをするときに来る。それは無視され、翻訳を探しているLOCALE_PATHSように見えるDjango 1.5.11とApacheでの翻訳
import os
import sys
import site
site.addsitedir('/path/to/virtualenvs/site-packages')
sys.path.append('/app/folder/')
sys.path.append('/settings/folder/')
sys.path.append('/virtualenvs/site-packages')
sys.path.append('/virtualenvs/bin')
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
activate_env=os.path.expanduser("/virtualenvs/bin/activate_this.py")
execfile(activate_env, dict(__file__=activate_env))
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
翻訳が動作していないのapacheを開始、:私のDjangoアプリは、以下のWSGIスクリプトでのpython 2.7.10でコンパイルされたApacheの2.4とmod_wsgiを添えています代わりにサイトフォルダに保存します。私はこの動作がどこから来ているのか理解していない(Apache mod_wsgiかもしれない?)。他の誰かが同じ経験をしていますか?
WSGIサーバーの現在の作業ディレクトリが実際にコードの場所にあるとは決して想像できません。あなたがコードを確実に移植するには、絶対パスを使用する必要があります。しかし、 '' os.path.dirname(__ file __) ''のようにいくつかのアンカーから計算してみて、ベースディレクトリをハードコーディングしないようにしてください。 –
それは感謝します、ありがとう! – mhkuu