如果用戶爲某個站點輸入一個隨機URL(http:// testurl/cdsdfsd),如何發現頁面未找到。我在那裏有任何更改settings.py或如何處理這個..使用Django找不到頁面信息
0
A
回答
2
0
默認情況下,Django是呈現404.html
模板。在找到模板的任何位置創建該文件。例如。你可以在你的Django項目根創建templates
目錄,然後將其添加到TEMPLATE_DIRS
在settings.py
:
import os
BASE_DIR = os.path.abspath(os.path.dirname(__file__))
TEMPLATE_DIRS = (
os.path.join(BASE_DIR, 'templates/'),
)
另一種解決方案是編寫您自己的中間件,這將檢查是否有404響應,以及什麼決定顯示。如果您希望有一個回退解決方案(如靜態頁面)或與響應一起玩,這尤其有用在網站上執行搜索並顯示可能的選項。
這是來自django.contrib.flatpages
的示例中間件。它會檢查url是否在數據庫中定義,如果是這樣 - 返回此頁面,否則傳遞並返回默認響應。
class FlatpageFallbackMiddleware(object):
def process_response(self, request, response):
if response.status_code != 404:
return response # No need to check for a flatpage for non-404 responses.
try:
return flatpage(request, request.path_info)
# Return the original response if any errors happened. Because this
# is a middleware, we can't assume the errors will be caught elsewhere.
except Http404:
return response
except:
if settings.DEBUG:
raise
return response
相關問題
- 1. Django找不到頁面(404)
- 2. 找不到頁面(404) - Django
- 3. Django URL(找不到頁面)
- 4. Django「找不到頁面404」
- 5. 使用page.info頁面信息
- 6. Django視圖不會重定向到詳細信息頁面
- 7. django所需的登錄信息頁面
- 8. Django從頁面導航,保留信息
- 9. 找不到IIS/asp.net的每秒頁面請求統計信息?
- 10. Django ListView頁面未找到
- 11. Django:沒有找到頁面
- 12. django自定義404找不到頁面
- 13. 在django中找不到頁面
- 14. Django Admin'頁面找不到/ admin/
- 15. 在Django中找不到頁面
- 16. Django 404錯誤頁面找不到
- 17. 找不到頁面通過Django的
- 18. Django Python找不到頁面(404)
- 19. 使用Django找不到網頁
- 20. 使用get_file_contents從頁面獲取信息?
- 21. 找不到SVN信息庫
- 22. 將信息從頁面傳遞到Django中的服務器
- 23. 使用會話變量在不同頁面上使用信息
- 24. 使用Django URL將發佈的信息發送到另一頁
- 25. 如何將信息發送到頁面
- 26. 發佈信息到Asp.net頁面方法?
- 27. 從DataList到詳細信息頁面
- 28. Facebook從javascript發送信息到頁面
- 29. 無法使用PHP從一個頁面獲取信息到另一個頁面
- 30. JSP:使用從一個頁面到另一個頁面的信息