0
我正在寫應該是所有用戶重定向到一個特定的頁面,如果設置的是康斯坦特設置爲True一個簡單的自定義中間件:定製中間件不重定向
從django.shortcuts匯入Django的重定向 .conf文件導入設置
class DisableSiteMiddleware(object):
"""If site is disabled, user is redirected to a simple page"""
print("Class")
def process_request(self, request):
print("func")
if settings.SITE_DISABLED == True:
return redirect("/site-disabled")
在urls.py,但與任何URL
url(r'^site-disabled/', site_disabled)
會發生什麼奇怪的是做的:在瀏覽器端它不會加載anyt並顯示瀏覽器失敗頁面。在控制檯上,我可以看到它反覆打印「func」,這意味着process_request被多次調用。我懷疑一個循環被瀏覽器殺死了。
可能是什麼問題?
什麼樣的情況? –
current is'settings.SITE_DISABLED == True'。在每一個請求中都是一樣的。所以做任何你想要的條件。 – itzMEonTV
我添加了一個簡單的布爾has_redirected = False這是檢查並相應地改變。 –