如何在Django URL模式中使用小数?
问题内容:
我想在Django URL模式中使用带小数点的数字,但不确定是否确实可行(我不是正则表达式专家)。
这是我要用于网址的内容:
/item/value/0.01
/item/value/0.05
这些网址显示的商品价值为0.01或0.05美元。当然,我可以通过简单的方法将值传递为美分,因此它将是/ item / value /
1,但是我希望在我的视图中将参数作为十进制数据类型而不是整数(并且在某些时候,我可能只需要处理几分之一的费用)。是否可以使用Django
URL模式编写正则表达式来处理此问题?
问题答案:
可能像
urlpatterns = patterns('',
(r'^item/value/(?P<value>\d+\.\d{2})/$', 'myapp.views.byvalue'),
... more urls
)
网址不应以斜杠开头。
在视图中,您可以具有以下功能:
def byvalue(request,value='0.99'):
try:
value = float(value)
except:
...