簡體   English   中英

當 Debug=False 時,Django Heroku 不提供靜態文件

[英]Django Heroku not serving static files when Debug=False

我在Heroku上托管我的Django應用程序並使用白噪聲來處理靜態文件。

以下是settings.py的內容

DEBUG = False

ALLOWED_HOSTS += [
    'example.com',
]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'whitenoise.middleware.WhiteNoiseMiddleware',
    ...
]

STATIC_URL = '/static/'

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static_my_project')
]

STATIC_ROOT = os.path.join(BASE_DIR, 'static_cdn', 'static_root')

但是靜態文件不起作用。

設置Debug=True是服務靜態文件,但不是Debug=False

帖子中得到解決方案

新增collectstaticProcfile

web: python manage.py collectstatic --no-input; gunicorn myapp.wsgi --log-file - --log-level debug

現在每個靜態文件都在服務,包括 CSS、js、圖像和視頻。

Whitenoise 中間件應該在安全中間件之后,在所有其他中間件之前 您目前正在將其添加到最后。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM