2012-04-06 39 views
0

我有一個Django 1.4項目視圖:Django的{%URL%}反不工作

def index(request): 
    print reverse('menus_index') 
    latest_menu_list = Menu.objects.all().order_by('name') 
    return render_to_response('menus/index.html', {'latest_menu_list': latest_menu_list}) 

可正常工作,並打印出反向網址是/菜單/。

裏面的index.html模板(這是由這一觀點的稱呼),我有:

{% url menus_index %} 

,這造成在/菜單/錯誤NoReverseMatch。沒有找到帶''參數'()'和關鍵字參數'{}'的''。

我的應用程序的urls.py是:它包括在我的項目的urls.py文件

urlpatterns = patterns('menus.views', 
url(r'^$','index', name='menus_index'), 
url(r'^(?P<menu_id>\d+)/$','detail', name='menus_detail'), 
) 

我在做什麼錯?

更新:

以下是完整的index.html的模板代碼:

{% extends "base.html" %} 
{% load url from future %} 

{% block title %} 
Menu Index 
{% endblock %} 

{% block content %} 
{% if latest_menu_list %} 
<ul> 
    {% for menu in latest_menu_list %} 
    <li><a href="{% url menus_index %}/{{ menu.id }}/">{{ menu.name }}</a></li> 
    {% endfor %} 
</ul> 
{% else %} 
    <p>No menus are available.</p> 
{% endif %} 
{% endblock %} 

回答

0

也許這不是menus_index?粘貼完整的模板代碼。

+0

完整的模板發佈。 – Erik 2012-04-06 04:53:20

0

的要求,應使用添加變量相反,somethink這樣的:{% url "menus_index" menu.slug %}