Django 404、500頁(yè)面全局配置知識(shí)點(diǎn)詳解
django版本為2.2.7,全局配置404、500頁(yè)面,解決靜態(tài)文件路徑等問(wèn)題
urls中編寫(xiě)
urlpatterns = [ .............. ] handler404 = 'first.views.page_not_found' #handler404為固定寫(xiě)法,first.views.page_not_found為404處理函數(shù)的位置 handler500 = 'first.views.page_error' #同上
指定的views中
#全局404
def 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
#全局500
def 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 = True
ALLOWED_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)寫(xiě)的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_path
from tlmzp.settings import MEDIA_ROOT,STATIC_ROOT
from django.views.static import serve
urlpatterns = [
..................
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)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
棧和隊(duì)列數(shù)據(jù)結(jié)構(gòu)的基本概念及其相關(guān)的Python實(shí)現(xiàn)
這篇文章主要介紹了棧和隊(duì)列數(shù)據(jù)結(jié)構(gòu)的基本概念及其相關(guān)的Python實(shí)現(xiàn),先進(jìn)先出和后進(jìn)先出的知識(shí)也已經(jīng)成為了計(jì)算機(jī)學(xué)習(xí)中的老生常談了:D需要的朋友可以參考下2015-08-08
用Python實(shí)現(xiàn)職工信息管理系統(tǒng)
這篇文章主要介紹了用Python實(shí)現(xiàn)職工信息管理系統(tǒng),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
Python限制內(nèi)存和CPU使用量的方法(Unix系統(tǒng)適用)
這篇文章主要介紹了Python限制內(nèi)存和CPU的使用量的方法,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-08-08
Python OpenCV實(shí)戰(zhàn)之與機(jī)器學(xué)習(xí)的碰撞
機(jī)器學(xué)習(xí)是人工智能的子集,為計(jì)算機(jī)以及其它具有計(jì)算能力的系統(tǒng)提供自動(dòng)預(yù)測(cè)或決策的能力。本文主要介紹了OpenCV 提供的常見(jiàn)機(jī)器學(xué)習(xí)算法和技術(shù),用于解決計(jì)算機(jī)視覺(jué)項(xiàng)目中的實(shí)際問(wèn)題,需要的朋友可以參考一下2021-12-12
python實(shí)現(xiàn)兩個(gè)文件夾的同步
這篇文章主要為大家詳細(xì)介紹了利用python實(shí)現(xiàn)兩個(gè)文件夾的同步,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08
pytorch 實(shí)現(xiàn)在一個(gè)優(yōu)化器中設(shè)置多個(gè)網(wǎng)絡(luò)參數(shù)的例子
今天小編就為大家分享一篇pytorch 實(shí)現(xiàn)在一個(gè)優(yōu)化器中設(shè)置多個(gè)網(wǎng)絡(luò)參數(shù)的例子,具有很好參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02
詳解Pytorch+PyG實(shí)現(xiàn)GCN過(guò)程示例
這篇文章主要為大家介紹了Pytorch+PyG實(shí)現(xiàn)GCN過(guò)程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
python操作docx寫(xiě)入內(nèi)容,并控制文本的字體顏色
今天小編就為大家分享一篇python操作docx寫(xiě)入內(nèi)容,并控制文本的字體顏色,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02
Python MySQL如何通過(guò)Binlog獲取變更記錄恢復(fù)數(shù)據(jù)
本文介紹了如何使用Python和pymysqlreplication庫(kù)通過(guò)MySQL的二進(jìn)制日志(Binlog)獲取數(shù)據(jù)庫(kù)的變更記錄,并展示了一個(gè)簡(jiǎn)單的Python腳本,該腳本讀取Binlog事件并打印出插入、更新和刪除操作的SQL語(yǔ)句,此外,還提到可以使用pandas將結(jié)果輸出到Excel表格中進(jìn)行數(shù)據(jù)分析處理2025-01-01
詳解python異步編程之a(chǎn)syncio(百萬(wàn)并發(fā))
這篇文章主要介紹了詳解python異步編程之a(chǎn)syncio(百萬(wàn)并發(fā)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07

