0
我有點困惑。我想檢查網站的當前網址是否位於我的urlpatters的特定子集中。 Django的哪個功能可以做到這一點?這是一箇中間件,在移動到我的網站的特定部分之前請求其他信息。如何檢查urlpatterns列表中的當前網址?
class AuthorityMiddleware(object):
def process_request(self, request):
current_url = request.path_info
if not request.user.is_anonymous() and current_url not in exclude_list:
if not request.session.get('authority'):
return get_the_authority(request)
應該如何排除列表中涉及到urls.py中定義的URL模式?
的['resolve'](https://docs.djangoproject.com/en/1.11/ref/urlresolvers/#resolve)方法採用一個URL路徑並返回相應的視圖,但目前還不清楚是否那就是你想要的。如果您提供了一些您想要排除的視圖和網址格式的示例,那麼您的問題就會更清晰。您確定要在中間件中進行此檢查,而不是限制視圖的裝飾器嗎? – Alasdair
我檢查瞭解決方案,但我只想要在我的urlpattern中定義的一部分url,例如特定的應用程序,這是公開的,以及其他需要額外登錄的應用程序。你是對的裝飾。我一直在想錯誤的事情。早在我創建上述代碼的時候,我一直認爲中間件是唯一可以在顯示視圖之前將其重定向到另一個頁面的地方。但事實並非如此。我能夠用適當的裝飾器解決我的問題。謝謝。 – Claude
我的排除列表有一個反向函數和url的列表,但它們會失敗,需要更多參數的url,如標記化函數和需要密鑰(密碼重置等)的函數。 – Claude