在 Django URL 中,什么是正则表达式,以便"foo.com/Bar"与"foo.com/bar"相同



我的问题是人们一直链接到example.com/FooBar,但实际链接是example.com/FooBar.

我当前的正则表达式是…

SLUG = '(?P<slug>[wd-]+)'

我希望这是有道理的。我很惊讶我没有发现这个问题已经被问过了。也许我的谷歌傅今天很弱。

正则表达式与两者匹配。困难在于,您可能会得到这样的查询:

obj = MyModel.objects.get(slug=slug)

这不匹配。

要解决此问题,请将查询更改为:

obj = MyModel.objects.get(slug=slug.lower())

此外,您的查询可能类似

obj = MyModel.objects.get(slug__icontains=slug)

图标字段查找将进行不区分大小写的匹配

相关内容

最新更新