一尘不染

反向查找带有参数“()”和关键字参数“ {}”的“ *”

django

渲染时捕获到异常:

找不到带有参数'()'和关键字参数'{}''products.views.'filter_by_led'

我能够products.views.filter_by_led从shell 成功导入,并且可以正常工作,因此路径应该正确。

这是urls.py

(r'^led-tv/$', filter_by_led ),

这是生成错误的地方:

href="{% url products.views.filter_by_led %}">

我不明白,因为这可以在同一个文件中正常工作:

{% url products.views.lcd_screen_size screen_size=50 %}

这是函数定义:

def filter_by_led(request):

我不明白为什么Django会认为该函数无法为该函数找到Reverse。

我删除了所有*.pyc文件,然后重新启动了Apache。

我究竟做错了什么?


阅读 269

收藏
2020-03-29

共1个答案

一尘不染

我想到的三件事是:

  1. 只是使用命名的url,无论如何它都更健壮和可维护
  2. 尝试django.core.urlresolvers.reverse在命令行上使用(可能)更好的错误
>>> from django.core.urlresolvers import reverse
>>> reverse('products.views.filter_by_led')
  1. 检查是否有多个指向该视图的网址
2020-03-29