我的Django模板中有以下代码:
<a href="{% url myapp.views.myview foobar %}">
那么,处理“foobar”包含星号(例如“* 1234”)的情况的正确方法是什么?目前,Django正在抛出这个错误:
Caught NoReverseMatch while rendering: Reverse for 'myapp.views.myview.myview'
with arguments '(u'*86743',)' and keyword arguments '{}' not found.
答案 0 :(得分:0)
确保urlconf中的其中一个条目匹配您传递的参数。如果您只允许数字([0-9]+
),那么星号将不匹配。
答案 1 :(得分:0)
通常,如果您使用 \ w 正则表达式指定网址规则,则会看到此内容。例如:(r'^myview/(?P<myparam>\w.+)/$', 'myview')
会导致此问题。扩大正则表达式允许&符号可以治愈你的弊病。