Django生產環境靜態資源404問題

首先原因是因爲禁止了DEBUGDEBUG = False,所以導致找不到靜態資源,但是生產環境是必須要關閉DEBUG的,所以我們需要找給Django開設一條路由來解決此問題。

settings配置如下所示:

STATIC_URL = '/static/'
if DEBUG:
    STATICFILES_DIRS = [
        os.path.join(BASE_DIR, "static"),
    ]
else:
    STATIC_ROOT = os.path.join(BASE_DIR, 'static')

# 把英文改爲中文
LANGUAGE_CODE = 'zh-hans'

# 把國際時區改爲中國時區
TIME_ZONE = 'Asia/Shanghai'

項目主urls配置如下所示:

 
from django.contrib import admin
from django.urls import path, re_path, include
from django.views.static import serve
from django.conf import settings

urlpatterns = [
    path('admin/', admin.site.urls),
    re_path('^static/(?P<path>.*)', serve, {'document_root': settings.STATIC_ROOT}),
]
 
蒐集靜態資源文件
python manage.py collectstatic

 

然後重啓你的託管服務如gunicorn,沒有的話就直接重啓Django就可以了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章