如何在Django中包含一个星号的URL?

时间:2010-12-21 14:36:23

标签: django-templates

我的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.

2 个答案:

答案 0 :(得分:0)

确保urlconf中的其中一个条目匹配您传递的参数。如果您只允许数字([0-9]+),那么星号将不匹配。

答案 1 :(得分:0)

通常,如果您使用 \ w 正则表达式指定网址规则,则会看到此内容。例如:(r'^myview/(?P<myparam>\w.+)/$', 'myview')会导致此问题。扩大正则表达式允许&符号可以治愈你的弊病。