Django 404、500頁(yè)面全局配置知識(shí)點(diǎn)詳解
django版本為2.2.7,全局配置404、500頁(yè)面,解決靜態(tài)文件路徑等問(wèn)題
urls中編寫
urlpatterns = [ ..............]handler404 = ’first.views.page_not_found’ #handler404為固定寫法,first.views.page_not_found為404處理函數(shù)的位置handler500 = ’first.views.page_error’ #同上
指定的views中
#全局404def page_not_found(request,exception): from django.shortcuts import render_to_response response = render_to_response(’first/404.html’,{}) #first/404.html html頁(yè)面 response.status_code = 404 return response#全局500def page_error(exception): from django.shortcuts import render_to_response response = render_to_response(’first/500.html’,{}) response.status_code = 500 return response
保存運(yùn)行 在地址欄輸入一個(gè)不存在的頁(yè)面
會(huì)發(fā)現(xiàn)并沒(méi)有進(jìn)入我們的配置,這需要我們?cè)趕ettings中進(jìn)行配置
找到下發(fā)這個(gè)
# SECURITY WARNING: don’t run with debug turned on in production!DEBUG = TrueALLOWED_HOSTS = []
修改為
DEBUG = False #關(guān)閉debug模式 這時(shí)為生產(chǎn)模式,在將項(xiàng)目部署到服務(wù)器時(shí)也需要關(guān)閉,debug模式會(huì)暴露站點(diǎn)的多種信息ALLOWED_HOSTS = [’*’] # * 為所有都可訪問(wèn),部署服務(wù)器時(shí)需修改
保存后運(yùn)行
進(jìn)入了配置,但按下F12發(fā)現(xiàn)所有的靜態(tài)文件如css、js、圖片等都沒(méi)找到,都是404
再進(jìn)入settings文件,因?yàn)槲覀冮_(kāi)啟了生產(chǎn)模式所以Django不再代理靜態(tài)文件,可以通過(guò)配置來(lái)再次代理
找到我們?cè)?jīng)寫的media及static配置
MEDIA_URL = ’/media/’ MEDIA_ROOT = os.path.join(BASE_DIR, 'media')STATIC_URL = ’/static/’STATICFILES_DIRS =[ os.path.join(BASE_DIR, ’static’),]將STATICFILES_DIRS =[ os.path.join(BASE_DIR, ’static’),] 注釋增加STATIC_ROOT = os.path.join(BASE_DIR,’static’)保存后在URLS中添加from django.urls import path,re_pathfrom tlmzp.settings import MEDIA_ROOT,STATIC_ROOTfrom django.views.static import serveurlpatterns = [ .................. re_path(r’^media/(?P<path>.*)$’, serve, {’document_root’: MEDIA_ROOT}), #media文件 re_path(r’^static/(?P<path>.*)$’, serve, {’document_root’: STATIC_ROOT}),#static文件]
保存后刷新頁(yè)面
所有的靜態(tài)文件就都加載了
到此這篇關(guān)于Django 404、500頁(yè)面全局配置知識(shí)點(diǎn)詳解的文章就介紹到這了,更多相關(guān)Django 404、500頁(yè)面全局配置內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 基于PHP做個(gè)圖片防盜鏈2. ASP.NET MVC使用Boostrap實(shí)現(xiàn)產(chǎn)品展示、查詢、排序、分頁(yè)3. XML在語(yǔ)音合成中的應(yīng)用4. asp.net core 認(rèn)證和授權(quán)實(shí)例詳解5. .NET中實(shí)現(xiàn)對(duì)象數(shù)據(jù)映射示例詳解6. php使用正則驗(yàn)證密碼字段的復(fù)雜強(qiáng)度原理詳細(xì)講解 原創(chuàng)7. ASP.NET MVC把數(shù)據(jù)庫(kù)中枚舉項(xiàng)的數(shù)字轉(zhuǎn)換成文字8. 如何使用ASP.NET Core 配置文件9. jscript與vbscript 操作XML元素屬性的代碼10. 基于javaweb+jsp實(shí)現(xiàn)企業(yè)車輛管理系統(tǒng)
