我需要一些关于django 1.8的帮助
错误:
异常类型:NoReverseMatch
异常值:反向'views.login',但未找到参数'()'和关键字参数'{}'。尝试了0种模式:[]
urls.py
urlpatterns = [
url(r"^login/$", TemplateView.as_view(template_name = 'auth/login.html'))
]
的login.html
<html>
<body>
<!-- action = "{% url 'connecte_login' %}" -->
<form name = "form" action = "{% url 'views.login' %}" method = "POST" >
{% csrf_token %}
<div style = "max-width:470px;">
<center>
<h5> <font color="blue">KEYSTONE AUTHENTIFICATION </font> </h5>
<b>Username :</b> <input type = "text" style = "margin-left:7%;"
placeholder = "Identifiant" name = "username" />
</center>
</div>
</form>
</body>
</html>
views.py
from django.shortcuts import render,redirect
from .forms import *
def login(request):
return render(request, "auth/authSuccess.html", context_dic)
authSuccess.html
<html>
<body> <b>IT WORKS !</b> </body>
</html>
我不知道为什么它会给我这个错误!
谢谢。答案 0 :(得分:0)
正如@Sayse在他的comment中所说,文档告诉您给视图命名以使用反向查找。要了解它的工作原理,您需要查看django.core.urlresolvers.RegexURLResolver#_reverse_with_prefix
方法。在第462行(Django 1.9)中,它执行possibilities = self.reverse_dict.getlist(lookup_view)
,其中lookup_view是url模板标记的'views.login'
参数。所以你没有这个名字 - 它不会工作。
Hovever,你可以使用完整的虚线路径来查看你的视图:
{% url 'path.to.some_view' v1 v2 %}
不是views.view
而是app.views.view
。但是你应该不这样做,因为它已被弃用,并将在Django 1.10中删除。希望它会对你有所帮助。