我有一个 Django 视图,它接受三个可选的关键字参数。我想在一行中处理正则表达式以将可能的 url 与该视图匹配。我想很好地构造网址。
一个例子:我可能的参数是 start 是一个 int,serial 是一个长度为 13 的字符串,end 是另一个 int。
网址可能如下所示:
/main/s20130509/e20130510/ABC1234567890
or
/main/s20130509/e20130510/
or
/main/ABC1234567890
其中 e 和 s 前缀组件分别是 end 和 start ,ABC1234567890 是串行的。
我想提取这些结束、开始、序列值并将它们作为值 start=s20130509 等传递给视图...
现在我通过在单独的行上详尽列出排列来做到这一点,似乎必须有更好的方法。
我正在尝试做类似的事情:
url(r'^base_url/(?P<serial>[^/]{13}|(?P<end>e\d{8})|(?P<start>s\d{8})/*$', view_method),
基本上,我想做的事情的逻辑对我来说很清楚;我想提取三个匹配项中任何一个的所有实例并将它们作为关键字参数传递,但我找不到资源来找出适合此的正则表达式语法。
有什么想法吗?我很乐意做任何能优雅地完成工作的事情。
谢谢你的时间,
蒂姆