错误NoReverseMatch在URL上

时间:2013-03-14 11:49:47

标签: django

有人可以解释这个错误意味着什么以及如何解决?

这是错误消息:

* * NoReverseMatch at / contacts / group / new / 反向'' group_list''参数'()'和关键字参数' {}'没找到。**

urls.py

urlpatterns = patterns('',


             url(r'^$', 'contacts.views.home', name="group_list"),

             (r'^group/new/$', 'contacts.views.group', {}, 'group_new'),
             (r'^group/edit/(?P<id>\d+)/$', 'contacts.views.group', {}, 'group_edit'),



)

template.py

  <li>
   <a href="{% url 'group_list' %}">
      <i class="icon-group"></i>
       <span>Contacts</span>
</a>
</li>

1 个答案:

答案 0 :(得分:2)

您可以通过利用prefix参数来清理您的模式:

urlpatterns = patterns('contacts.views',
    url(r'^group/edit/(?P<id>\d+)/$', 'group', name='group_edit'),
    url(r'^group/new/$', 'group', name='group_new'),
    url(r'^$', 'home', name="group_list"),
)

当你使用url模板标签时,只需提供模式的名称,而不是将字符串文字交给函数:

{% url group_list %}

由于模式按顺序匹配,我建议先放置最具体的模式,否则可能会出现意外行为。