【发布时间】:2015-05-08 03:29:50
【问题描述】:
我正在为网站构建 urlconf,但遇到了几个问题;
在某些时候,我必须提供一个最终可以重新排序的任务列表。问题是我不知道如何配置正则表达式。
到目前为止,我得到了这个:
url(r'^myapp/mytasks, myview.tasks),
默认行为是接受www.mydomain.com/myapp/mytasks 的请求。
但是如果用户按下订单按钮,我需要 Django 也接受以下类型的请求:
www.mydomain.com/myapp/mytasks/sort_by/price_highest
www.mydomain.com/myapp/mytasks/sort_by/price_lowest
但不是
www.mydomain.com/myapp/mytasks/price_lowest
这个场景有正则表达式吗?
提前谢谢大家。
附言 理想情况下,我还想知道如何才能扭转它们。
【问题讨论】:
-
试试
url(r'^myapp/mytasks/sort_by', myview.tasks), -
@AvinashRaj 这不适用于默认场景:
www.mydomain.com/myapp/mytasks。 -
对于排序等选项,我更倾向于使用
www.mydomain.com/myapp/mytasks?sort_by=price_highest之类的查询字符串,甚至www.mydomain.com/myapp/mytasks&sort_by=price&reversed=false。然后,您必须在视图中处理查询字符串。 -
@Konos5 试试
url(r'^myapp/mytasks(?!/price_lowest)', myview.tasks) -
@AvinashRaj 谢谢,但我认为你在这里错过了重点。除了
price_lowest,我并不是什么都需要。我需要price_lowest或price_highest或任何其他我想到的参数,但只有在/sort_by/存在之后。如果sort_by不存在,则丢弃所有并恢复为默认值。
标签: python regex django django-urls