1.在setting.py中,將DEBUG改為False,否則不會生效 2.DEBUG為False後,會導致靜態資源的路徑(STATIC_URL)失效, 簡單的做法,在開發時: 複雜的方法(django2.2.7,會導致404頁面的靜態資源的圖片無法載入) setting.py urls.py 3. ...
1.在setting.py中,將DEBUG改為False,否則不會生效
ALLOWED_HOSTS = ['*']
DEBUG = False # 生產環境一定要改為False
2.DEBUG為False後,會導致靜態資源的路徑(STATIC_URL)失效,
簡單的做法,在開發時:
啟動時使用python manage.py runserver --insecure,以不安全模式運行即可載入靜態文件
複雜的方法(django2.2.7,會導致404頁面的靜態資源的圖片無法載入)
setting.py
STATIC_ROOT = os.path.join(BASE_DIR, '/static/')
# STATIC_ROOT = os.path.join(BASE_DIR, 'static') 會引起ERROR
urls.py
from EduOnline.settings import STATIC_ROOT
...
re_path('static/(?P<path>.+)', serve,{'document_root':STATIC_ROOT}),
...
handler404 = "appname.views.page_not_found"
3.定義返回404頁面的函數
from django.shortcuts import render,render_to_response
def page_not_found(request,exception=404): # 2.2 版本增加了一個參數exception
return render(request, '404.html')
#低版本寫法
def page_not_found(request):
response = render_to_response('404.html',{})
response.status_code = 404
return response