Django {% url %} reverse не работает

У меня есть представление в проекте Django 1.4:

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})

Это работает, как и ожидалось, и выводит обратный URL-адрес, который является /menus/.

Внутри шаблона index.html (который вызывается этим представлением) у меня есть:

{% url menus_index %}

Что вызывает ошибку NoReverseMatch at /menus/. Обратное для '' с аргументами '()' и аргументами ключевого слова '{} ' не найден.

urls.py моего приложения:

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

который включен в файл urls.py моего проекта.

что я делаю неправильно?

обновление:

вот полный индекс .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
задан Erik 6 April 2012 в 04:53
поделиться