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

tee*_*ane 1 python regex django case-sensitive

我的问题是人们继续链接到example.com/FooBar但实际的链接是example.com/foobar.

我现在的正则表达式是......

SLUG = '(?P<slug>[\w\d-]+)'
Run Code Online (Sandbox Code Playgroud)

我希望这是有道理的.我很惊讶我发现这个问题已经问到了.也许我的谷歌今天很弱.

Dav*_*ver 6

正则表达式匹配两者.困难在于您可能会遇到如下问题:

obj = MyModel.objects.get(slug=slug)
Run Code Online (Sandbox Code Playgroud)

哪个不匹配.

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

obj = MyModel.objects.get(slug=slug.lower())
Run Code Online (Sandbox Code Playgroud)