私はウェブアドレスを持っています:
http://www.example.com/org/companyA
正規表現を使用して CompanyA をビューに渡せるようにしたいと考えています。
これは私が持っているものです:
(r'^org/?P<company_name>\w+/$',"orgman.views.orgman")
そして似合わない。
理想的には、example.com/org/X のようなすべての URL が x をビューに渡します。
前もって感謝します!
私はウェブアドレスを持っています:
http://www.example.com/org/companyA
正規表現を使用して CompanyA をビューに渡せるようにしたいと考えています。
これは私が持っているものです:
(r'^org/?P<company_name>\w+/$',"orgman.views.orgman")
そして似合わない。
理想的には、example.com/org/X のようなすべての URL が x をビューに渡します。
前もって感謝します!
グループ名を括弧で囲む必要があります。名前付きグループの構文は(?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'}
正規表現が無効です。おそらく次のように見えるはずです
r'^org/(?P<company_name>\w+)/$'
それはもっと似ているはずですr'^org/(?P<company_name>\w+)'
>>> r = re.compile(r'^org/(?P<company_name>\w+)')
>>> r.match('org/companyA').groups()
('companyA',)