2016-11-26 6 views
0

私は、Mac OS上でDjangoの1.9.xを実行中にエラーが発生し、次の取得しています修正方法 - エラー[django.security.SuspiciousFileOperation:216]?

[26/Nov/2016 07:33:23] ERROR [django.security.SuspiciousFileOperation:216] 
The joined path (/static/fonts/DINLight.ttf) is located outside of the base path 
component (/Users/petermac/python27/erpproject/app/staticfiles) 

私のsettings.py:私はこの

感謝を解決するために何をすべき

PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__)) 

STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles') 
WHITENOISE_ROOT = os.path.join(BASE_DIR, 'basic_files') 

# Extra places for collectstatic to find static files. 
STATICFILES_BASEDIR = os.path.join(BASE_DIR, 'uncollectedstatic') 

STATICFILES_DIRS = (
    STATICFILES_BASEDIR, 
) 

STATIC_HOST = os.environ.get('DJANGO_STATIC_HOST', '') 
STATIC_URL = STATIC_HOST + '/static/' 

STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage' 

# Templates 
TEMPLATE_DIR = join(STATICFILES_BASEDIR, 'templates') 

答えて

0

問題は、環境変数DJANGO_STATIC_HOSTが定義されていないことです。os.environ.get('DJANGO_STATIC_HOST', '')''STATIC_URL = STATIC_HOST + '/static/'(ちなみに、これまでのようにos.path.joinを使うべきだと思います)、ちょうどあなたが望むものではない/static/...となっています。環境変数DJANGO_STATIC_HOSTを再確認してください。

+0

ありがとうございます! STATIC_URL = os.environ.get( 'STATIC_HOST'、 '/ static /') – Thwe

+0

STATIC_HOSTを初期化したかどうかによって異なります。また、フォールバック値( '/ static /')はあなたのファイルシステムに '/ static'フォルダーがない限り動作しません。そうでないと思います。 – martinarroyo

+0

アプリはHerokuにインストールされ、既存の設定で動作しますが、ローカルenvにアプリをデプロイしている間は同じ設定が機能しません。私はhttp://whitenoise.evans.io/en/stable/django.html#make-sure-staticfiles-is-configured-correctlyの指針としてリンクをたどりましたが、ローカルenvの変更については何も見つかりませんでした。 – Thwe

関連する問題