我是 Django 新手,在使用 django.contrib.auth.login 时遇到困难。
我的 urls.py:
from django.conf.urls import patterns, include, url
from myapp import views
from django.contrib import auth
urlpatterns = patterns('',
url(r'^$', views.index, name='index'),
url(r'^accounts/', include('accounts.urls')),
url(r'^accounts/login/$', auth.login)
)
现在,当我尝试在模板中使用 url
<a href="{% url 'accounts/login' %}?next={{request.path}}">Login</a>
我收到 NoReverseMatch 错误。我究竟做错了什么?谢谢。
EDIT1:我终于能够解决 NoReverseMatch 错误。谢谢。不过我还是有问题。这是我更新的代码:
网址.py:
from django.conf.urls import patterns, include, url
from myapp import views
from django.contrib.auth.views import login
urlpatterns = patterns('',
url(r'^$', views.index, name='index'),
url(r'^accounts/', include('accounts.urls')),
url(r'^accounts/login/$', login)
)
我的模板 index.html:
<a href="{% url 'django.contrib.auth.views.login' %}?next={{request.path}}">Login</a>
问题:当我获取页面并单击“登录”时,出现以下错误:
不存在于 /accounts/login/
因此,它在 accounts/login/ 中查找视图,而我没有登录视图,因为 django.contrib.auth.views.login 应该为我提供视图。我应该如何修改我的 urls.py?还是有其他方法可以解决?谢谢。
编辑2:
我的帐户/urls.py:
from django.conf.urls import patterns, url
from accounts import views
urlpatterns = patterns('',
url(r'^register/$', views.register, name='register')
)