覆盖第三方应用程序的URL模式

时间:2013-11-14 11:13:41

标签: python django django-registration

我正在使用django-registration app,我正在实施“记住我”功能snippet

基本上,注册应用程序需要您只定义一个URL,

url(r'^accounts/', include('registration.backends.default.urls')), 

在引擎盖下,它定义了默认网址,例如/accounts/login/accounts/logout,每个网址都指向django.contrib.auth.views个功能。

我需要覆盖login()函数以及随附的URL。

那么如何覆盖accounts/login中的网址urls.py,将所有其他网址保留为默认网址?

2 个答案:

答案 0 :(得分:1)

Django将使用匹配的第一个URL模式。因此,在urls.py中,在之前添加accounts/login 的模式,其中包含来自django-registration的网址。所有其他URL将由django-registration处理。

答案 1 :(得分:1)

您可以尝试明确地抓住accounts/login网址请求,然后再点击您更通用的accounts/*网址捕获器。

也许

# first catch your custom login
url(r'^accounts/login', include('my_custom_login.urls')), 
# and everything else beginning with accounts/
url(r'^accounts/', include('registration.backends.default.urls')),