Django URL NoReverseMatch

时间:2013-12-17 18:29:20

标签: python django django-urls

我一直试图解决这个问题,但似乎无法理解我的错误。

在我的Django 1.6项目中,我有两个应用:holdcontrol

项目urls.py

url(r'^control/$', include('control.urls')),

App control/urls.py

url(r'^$', views.index, name='control_home'),

#this doesn't work
url(r'^invite/$', views.control_invite, name='control_invite'),

控制views.py

def index(request):
    return render(request, 'control_index.html')


def control_invite(request):
    return render(request, 'control_invite.html')

模板control_index.html

<li class="active"><a href="{% url 'control_home' %}">Control</a></li>
<li><a href="{% url 'control_invite' %}">Invitations</a></li>

错误

Reverse for 'control_invite' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['control/$invite/$']

我在shell中遇到同样的错误。不确定我错过了什么......

2 个答案:

答案 0 :(得分:3)

您在主urls.py的末尾有一个$符号,这意味着该模式应该以{{1​​}}结束,不再允许任何子网址。将其更改为:

control/

答案 1 :(得分:1)

项目urls.py应为:

url(r'^control/', include('control.urls')),

不需要$(这意味着之后什么也没有。)