最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python為Django項目上的每個應用程序創(chuàng)建不同的自定義404頁面(最佳答案)

 更新時間:2020年03月09日 10:08:16   作者:像風一樣愛自由  
這篇文章主要介紹了python為Django項目上的每個應用程序創(chuàng)建不同的自定義404頁面,本文給出了最佳答案,大家可以跟隨小編一起學習下

有沒有一種方法可以為Django項目中的每個應用程序創(chuàng)建多個自定義錯誤模板,我的意思是,在我的項目中,我有3個應用程序,每個應用程序將顯示3種不同的custom 404錯誤.

現(xiàn)在,我在后臺應用程序和前臺顯示相同的404錯誤頁面.

最佳答案

創(chuàng)建一個自定義error view并將其分配給根urls.py中的handler404變量:

from django.views.defaults import page_not_found
 
def my_error_404(request, exception):
 template_name = '404.html'
 if request.path.startswith('/backoffice/'):
  template_name='backoffice/404.html'
 elif request.path.startswith('/frontoffice/'):
  template_name='frontoffice/404.html'
 return page_not_found(request, exception, template_name=template_name)

此代碼適用于Django 1.9.如果使用django< = 1.9,則從視圖中刪除exception參數(shù).

知識點補充:

Django 自定義 404 500 等錯誤頁面

起步
要想自定義錯誤頁面,需要關閉調(diào)試模式 DEBUG = False ,因為調(diào)試模式的錯誤頁面是開發(fā)下會顯示錯誤信息的。

有兩種方法可以實現(xiàn)自定義的錯誤頁面。

方法一:創(chuàng)建特定命名的模板文件

這是一種非常簡單的方式。在項目模板文件夾 templates 中創(chuàng)建命名為 404.html 的模板文件即可。

這個方式是其實是借用了 Django 的模板查找規(guī)則進行的。源碼在 django.views.defaults.py 中:

ERROR_404_TEMPLATE_NAME = '404.html'

def page_not_found(request, exception, template_name=ERROR_404_TEMPLATE_NAME):
    ...

總的來說,方法一不需要設路由,只要新建規(guī)定名稱的模板就能生效了。

方法二:設置句柄

如果需要更個性化的錯誤頁面,不需要拘泥于特定的模板文件名,可以重新設置句柄,具體是在 urls.py 中設置:

# urls.py
def page_not_found(request, exception):
 return render(request, 'your_404_filename.html')

handler404 = page_not_found

urlpatterns = [
 ...
]

除了能捕獲不存在路由地址,還能捕獲視圖中 raise Http404('message') 拋出的異常。

哪些錯誤頁面可以配置
具體能自定義錯誤頁面的有 4 中狀態(tài)碼:

# django.views.defaults.py
ERROR_404_TEMPLATE_NAME = '404.html'
ERROR_403_TEMPLATE_NAME = '403.html'
ERROR_400_TEMPLATE_NAME = '400.html'
ERROR_500_TEMPLATE_NAME = '500.html'

# django.conf.urls.__init__.py
handler400 = defaults.bad_request
handler403 = defaults.permission_denied
handler404 = defaults.page_not_found
handler500 = defaults.server_error

總結

到此這篇關于python為Django項目上的每個應用程序創(chuàng)建不同的自定義404頁面(最佳答案)的文章就介紹到這了,更多相關python django自定義404頁面內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python實現(xiàn)的二叉樹算法和kmp算法實例

    python實現(xiàn)的二叉樹算法和kmp算法實例

    最近重溫數(shù)據(jù)結構,又用python,所以就用python重新寫了數(shù)據(jù)結構的一些東西,以下是二叉樹的python寫法
    2014-04-04
  • 找Python安裝目錄,設置環(huán)境路徑以及在命令行運行python腳本實例

    找Python安裝目錄,設置環(huán)境路徑以及在命令行運行python腳本實例

    這篇文章主要介紹了找Python安裝目錄,設置環(huán)境路徑以及在命令行運行python腳本實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • python利用tkinter實現(xiàn)圖片格式轉換的示例

    python利用tkinter實現(xiàn)圖片格式轉換的示例

    這篇文章主要介紹了python利用tkinter實現(xiàn)圖片格式轉換,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-09-09
  • Python中*args和**kwargs的區(qū)別詳解

    Python中*args和**kwargs的區(qū)別詳解

    這篇文章主要介紹了Python中*args和**kwargs的區(qū)別詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09
  • python?管理系統(tǒng)實現(xiàn)mysql交互的示例代碼

    python?管理系統(tǒng)實現(xiàn)mysql交互的示例代碼

    這篇文章主要介紹了python?管理系統(tǒng)實現(xiàn)mysql交互,本文通過實例代碼圖文相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • Python教程之無限迭代器的使用詳解

    Python教程之無限迭代器的使用詳解

    Python的Itetool是一個模塊,它提供了各種函數(shù),這些函數(shù)在迭代器上工作以產(chǎn)生復雜的迭代器。該模塊作為一個快速,內(nèi)存效率的工具,可以單獨使用或組合使用以形成迭代器代數(shù)。本文就來和大家詳細聊聊無限迭代器,感興趣的可以了解一下
    2022-09-09
  • Python按照list dict key進行排序過程解析

    Python按照list dict key進行排序過程解析

    這篇文章主要介紹了Python按照list dict key進行排序過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • python基礎之元組

    python基礎之元組

    這篇文章主要介紹了python的元組,實例分析了Python中返回一個返回值與多個返回值的方法,需要的朋友可以參考下
    2021-10-10
  • Python判斷字符串是否包含特定子字符串的多種方法(7種方法)

    Python判斷字符串是否包含特定子字符串的多種方法(7種方法)

    我們經(jīng)常會遇這樣一個需求判斷字符串中是否包含某個關鍵詞,也就是特定的子字符串,接下來通過本文給大家分享Python判斷字符串是否包含特定子字符串的多種方法(7種方法),需要的朋友可以參考下
    2023-03-03
  • python多進程使用函數(shù)封裝實例

    python多進程使用函數(shù)封裝實例

    這篇文章主要介紹了python多進程使用函數(shù)封裝實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05

最新評論

项城市| 涞源县| 文水县| 宿迁市| 淳安县| 绥江县| 章丘市| 壶关县| 昌宁县| 沭阳县| 札达县| 高安市| 天峻县| 石门县| 蒲城县| 张家港市| 岗巴县| 涟源市| 格尔木市| 高淳县| 察哈| 凤翔县| 福鼎市| 黔江区| 高淳县| 上杭县| 利津县| 永仁县| 衡水市| 莲花县| 旺苍县| 井研县| 高州市| 镇康县| 陆良县| 香河县| 肥乡县| 东丰县| 满洲里市| 长子县| 麻阳|