在Django中使用Python正则表达式

Noa*_*ark 10 python regex django django-urls

我有一个网址:

http://www.example.com/org/companyA

我希望能够使用正则表达式将CompanyA传递给视图.

这就是我所拥有的:

(r'^org/?P<company_name>\w+/$',"orgman.views.orgman")
Run Code Online (Sandbox Code Playgroud)

它不匹配.

理想情况下,所有看起来像example.com/org/X的URL都会将x传递给视图.

提前致谢!

Nic*_*ley 20

您需要将组名称括在括号中.命名组的语法(?P<name>regex)不是?P<name>regex.此外,如果您不想要一个尾部斜杠,则应将其设为可选.

测试与Python解释器匹配的正则表达式很容易,例如:

>>> import re
>>> re.match(r'^org/?P<company_name>\w+/$', 'org/companyA')
>>> re.match(r'^org/(?P<company_name>\w+)/?$', 'org/companyA')
<_sre.SRE_Match object at 0x10049c378>
>>> re.match(r'^org/(?P<company_name>\w+)/?$', 'org/companyA').groupdict()
{'company_name': 'companyA'}
Run Code Online (Sandbox Code Playgroud)