【问题标题】:Django no reverse match found when passing parameters in {% url %}Django 在 {% url %} 中传递参数时找不到反向匹配
【发布时间】:2013-09-26 19:28:02
【问题描述】:

我有以下网址配置:

      url(r'^tournaments/(?P<tournament_id>\d+)/imports/$',
         'club.apps.main.views.imports_view',
         name='imports_tournament'),

以及以下模板标签:

{% url 'imports_tournament' tournament.id%}

但是,这总是会引发未找到反向 url 匹配错误。

Django 版本是 1.5,所以单引号语法应该可以工作..

我做错了什么?

【问题讨论】:

  • 你是否在 url.py 中包含了这些 url?
  • tournament.id改成1,再次加薪?
  • 你在根 url 中使用命名空间吗?

标签: python django django-templates django-urls


【解决方案1】:

当您将参数传递给url 标记时,它假定您传递的是位置参数。您的 url 视图采用 关键字参数,因此您需要明确:

{% url 'imports_tournament' tournament_id=tournament.id %}

【讨论】:

  • 嗯......它现在正在工作,重新启动服务器后。我没有明确表达,但这似乎是一种更好的做法
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-21
相关资源
最近更新 更多