我正在尝试设置正则表达式,以便将用户重定向到url fieldguide / 0e,如果他们将除0e或0E以外的任何内容放在URL之后的前两个字符。以下是我的urls.py文件:
url(r'^fieldguide/(?P<IDmatch>0[eE]([0-9A-Fa-f]{0,14}))/$', 'treeView', name='index'),
url(r'^fieldguide/./$', 'treeDirect', name='index'),
url(r'^fieldguide/(?!0[Ee]$)/$', 'treeDirect', name='index'),
当用户将正确的格式放入URL时,第一个处理,这很好。 当用户只放置一个字符时,第二个句柄。也工作正常。 第三个是我遇到麻烦的地方,我尝试了许多这种排列(括在括号中,没有$等),但它们似乎都没有用。任何人都可以告诉我,我做错了吗?
答案 0 :(得分:0)
Django doesn't support verbose regexes - 即'(?x)' - 因为它们确实很难确定视图的url(而不是来自url的视图)。
好消息是Django网址设计为级联,所以您可以执行以下操作:
url(r'^fieldguide/(?P<IDmatch>0[eE]([0-9A-Fa-f]{0,14}))/$', 'treeView', name='index'),
url(r'^fieldguide/.*$', 'treeDirect', name='index-redirect'),