我只是尝试django并按照文档进行身份验证.
基本上我想看看用户登录表单页面,但我得到:
Caught NoReverseMatch while rendering: Reverse for ''django.contrib.auth.views.login'' with arguments '()' and keyword arguments '{}' not found.
Run Code Online (Sandbox Code Playgroud)
我的urls.py文件:
from django.conf.urls.defaults import patterns, include, url
urlpatterns = patterns('',
url(r'^accounts/login/$', 'django.contrib.auth.views.login'),
)
Run Code Online (Sandbox Code Playgroud)
我的settings.py(INSTALLED_APPS)
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
)
Run Code Online (Sandbox Code Playgroud)
编辑:我意识到我在看错了.模板文件中发生错误:
{% if form.errors %}
<p>Your username and password didn't match. Please try again.</p>
{% endif %}
<form method="post" action="{% url 'django.contrib.auth.views.login' %}">
{% csrf_token %}
<table>
<tr>
<td>{{ form.username.label_tag }}</td>
<td>{{ form.username }}</td>
</tr>
<tr>
<td>{{ form.password.label_tag }}</td>
<td>{{ form.password }}</td>
</tr>
</table>
<input type="submit" value="login" />
<input type="hidden" name="next" value="{{ next }}" />
</form>
Run Code Online (Sandbox Code Playgroud)
专门针对该行:
<form method="post" action="{% url 'django.contrib.auth.views.login' %}">
Run Code Online (Sandbox Code Playgroud)
ssb*_*sbb 37
尝试为url设置名称并在url标记中使用它:
url(r'^accounts/login/$', 'django.contrib.auth.views.login', name='login'),
Run Code Online (Sandbox Code Playgroud)
并在模板中:
<form method="post" action="{% url 'login' %}">
Run Code Online (Sandbox Code Playgroud)
asd*_*hak 18
试试这个:
url(r'^accounts/login$', 'django.contrib.auth.views.login'),
Run Code Online (Sandbox Code Playgroud)
在你编辑之后:
<form method="post" action="{% url django.contrib.auth.views.login %}">
Run Code Online (Sandbox Code Playgroud)
编辑
在settings.pyDjango中,该行的文件:
APPEND_SLASH = False
告诉您反向网址是否以斜线结尾.然后
APPEND_SLASH = True
url(r'^accounts/login/', 'django.contrib.auth.views.login')
Run Code Online (Sandbox Code Playgroud)
也应该工作.
尝试在网址中添加name ='login'作为关键字
url(r'^accounts/login/$', 'django.contrib.auth.views.login', name='login'),
Run Code Online (Sandbox Code Playgroud)
然后调用reverse('login').
| 归档时间: |
|
| 查看次数: |
42683 次 |
| 最近记录: |