2016-08-05 20 views
3

我剛剛升級到django v1.10,我正在運行測試來檢查一切正常,但我的登錄頁面上已經收到Reverse for 'django.contrib.auth.views.login' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []NoReverseMatch v1.9到v1.10升級

我正在使用django註冊並撥打電話以使用<a href="/accounts/login/">Login</a>獲取登錄頁面。

然後我得到這個錯誤信息的HTML,它是<form method="post" action="{% url 'django.contrib.auth.views.login' %}">這是拋出錯誤。

<div class="container"> 
    <div class="row text-center"> 
    <div class="col-sm-12"> 
      <form method="post" action="{% url 'django.contrib.auth.views.login' %}">{% csrf_token %} 
      <span style="color:green">{{msg}}</span><br> 
      <table align="center">{{ form }}</table> 
      <button type="submit" class="btn btn-primary btn-sm">Login</button> 
      </form> 
      <a href="/password/recover" class="btn btn-primary btn-sm">Forgotten Password</a> 
    </div> 
    </div> 
</div> 

我沒有改變urls.py看起來包括:

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

我已經什麼都沒有改變,從1.9要1.10(也是我改變試圖解決這一問題,我回復) 。任何幫助感激地收到。

回答

2

Django 1.10 release notes

()使用點的Python路徑網址除去能力反向。

url模板標籤使用reverse()。因此,這是不再有效

{% url 'django.contrib.auth.views.login' %} 

必須使用路由名稱。

查看Django 1.8 release notes瞭解詳情。

+1

您必須使用路由名稱,該名稱應該是「login」。 – Alasdair

+0

謝謝 - 太容易了 – HenryM