DJANGO PYTHON:NoReverseMatch at:反向'views.login',参数'()'和关键字参数'{}'未找到。尝试过0种模式:[]

时间:2016-07-13 12:38:38

标签: django reverse

我需要一些关于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>

我不知道为什么它会给我这个错误!

谢谢。

1 个答案:

答案 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中删除。希望它会对你有所帮助。