當Django設定DEBUG為False時,發現admin和html的靜態資原始檔載入失敗,折騰一段時間終於找到解決辦法;
1、先在setting檔案增加BASE_DIR(專案的路徑)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
2、然後設定:DEBUG = False
3、新增:ALLOWED_HOSTS = ['*'] # 允許IP訪問
4、新增
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR + "/Mydjango/", 'static') # 建立自己新的靜態資料夾
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'),) # 原來的靜態資料夾路徑
備註:STATICFILES_DIRS 是原來的靜態資原始檔夾,路徑請根據自己實際設定
STATIC_ROOT 是簡歷新的靜態資原始檔夾,請根據自己實際設定;
但是兩個路徑的資料夾名字需要一致,比如我這裡都是static
5、去urls.py新增訪問路徑:
# 訪問靜態檔案
from django.views.static import serve
from django.contrib import admin
from Mydjango import settings # Mydjango 是你的APP的名字
在urlpatterns增加
url(r"^admin/", admin.site.urls),
url(r"^static/(?P<path>.*)$", serve, {"document_root": settings.STATIC_ROOT}, name='static'),
6、然後執行python manage.py collectstatic 同步靜態檔案,見圖一;
然後python manage.py runserver 0.0.0.0:8000 開啟網址就能看到資原始檔都載入成功了