python - 如何在 Django URL 模式中使用小数?

标签 python regex django django-urls

我想在 Django URL 模式中使用带小数点的数字,但我不确定这是否真的可行(我不是正则表达式专家)。

这是我想用于 URL 的内容:

/item/value/0.01
/item/value/0.05

这些 URL 会显示值(value) 0.01 美元或 0.05 美元的商品。当然,我可以采取简单的方法并以美分为单位传递值,因此它将是/item/value/1,但我希望在我看来以十进制数据类型而不是整数形式接收参数(并且在某些时候我可能不得不处理几分之一美分)。是否可以在 Django URL 模式中编写一个正则表达式来处理这个问题?

最佳答案

可以是这样的

urlpatterns = patterns('',
   (r'^item/value/(?P<value>\d+\.\d{2})/$', 'myapp.views.byvalue'),
   ... more urls
)

url 不应以斜杠开头。

在 View 中你可以有函数:

def byvalue(request,value='0.99'):
    try:
        value = float(value)
    except:
        ...

关于python - 如何在 Django URL 模式中使用小数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1128693/

相关文章:

Django 多对多验证

regex - django 尝试了这些 url 模式

python - Django/Python错误: ImproperlyConfigured; Middleware module does not define

python - 在 MySQL 和 Tornado 之间创建连接

python - 如何在 django 中发送电子邮件?

C# 制表符/缩进 HTML

mysql - 如何在 MySQL 中进行正则表达式替换?

python - python 多处理中的多个可迭代对象作为参数

python - ZODB 忽略目标缓存对象计数和目标缓存内存大小

regex - 日期范围的正则表达式