我有一个带有一个可选参数的网址格式:
# urls.py :
url(r'^(page/(?P<page>\w+))?$', MyIndexView.as_view(), name='index'),
分页和其他所有功能都可以正常工作,直到我在模板中创建指向特定页面的网址为止:
# templates/mysite.html
{% url 'index' 54 %}
然后我得到一个错误:
Reverse for 'index' with arguments '(54,)' and keyword arguments '{}' not found. 1 pattern(s) tried: [u'(page/(?P<page>\\w+))?$']
没有该参数,它将起作用:
{% url 'index' %}
我也尝试过:
{% url 'index' page=54 %}
并得到类似的错误。
您可以创建两个URL模式,一个具有默认参数1,另一个具有page
URL中的匹配项:
# urls.py :
url(r'^page$', MyIndexView.as_view(), {'page': 1}, name='index'),
url(r'^page/(?P<page>\w+)$', MyIndexView.as_view(), name='index'),
的第三个参数的url
功能是kwargs
,因此,kwargs['page']
将1中的第一壳体和通过在第二网址限定。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句