渲染时遇到异常:
Reverse for 'products.views.'filter_by_led' with arguments '()' and keyword arguments '{}' not found.
我能够从 shell 成功导入 products.views.filter_by_led
并且它工作正常,所以路径应该是正确的。
这里是 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。
我做错了什么?
最佳答案
我能想到三件事:
- 刚用过named urls ,无论如何它更健壮和可维护
尝试在命令行中使用
django.core.urlresolvers.reverse
以获得(可能)更好的错误>>> from django.core.urlresolvers import reverse >>> reverse('products.views.filter_by_led')
检查您是否有多个指向该 View 的 url
关于python - 使用参数 '*' 和关键字参数 '()' 找不到 '{}' 反向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1842389/