Eri*_*rik 0 python django django-templates django-views
我在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})
Run Code Online (Sandbox Code Playgroud)
这按预期工作,并打印出反向的URL,即/ menus /.
在index.html模板(由此视图调用)内部,我有:
{% url menus_index %}
Run Code Online (Sandbox Code Playgroud)
这导致NoReverseMatch at/menus/error.反向''带参数'()'和关键字参数'{}'找不到.
我的应用程序的urls.py是:
urlpatterns = patterns('menus.views',
url(r'^$','index', name='menus_index'),
url(r'^(?P<menu_id>\d+)/$','detail', name='menus_detail'),
)
Run Code Online (Sandbox Code Playgroud)
哪个包含在我的项目的urls.py文件中.
我究竟做错了什么?
更新:
以下是完整的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 %}
Run Code Online (Sandbox Code Playgroud)
答案:使用{%url'menus_index'%}.{%load url from future%}使得报价成为每个https://docs.djangoproject.com/en/1.4/ref/templates/builtins/#url的要求
| 归档时间: |
|
| 查看次数: |
5608 次 |
| 最近记录: |