如何理解例如 URL 模式。(?P<slug>[-\w]+)/$
在 django url.py 中
问问题
2878 次
4 回答
4
这个网址:(?P<slug>[-\w]+)/$
表示您正在将一个变量传递给您的视图,称为slug
可以是任何数字或字母,并且-
你的观点是这样的:
def my_view(request, slug):
....
希望能帮助到你...
于 2012-04-18T05:16:46.690 回答
0
请注意,slug 字段也可能包含数字(不仅仅是字母和破折号),因此您希望将其更改为:
SLUG = '(?P<slug>[\w\d-]+)'
我希望这对你有帮助......
于 2012-04-18T05:10:39.343 回答
0
首先掌握正则表达式,然后是7.2.1 - 正则表达式语法
于 2012-04-18T05:07:29.237 回答
0
我认为这不是一个有效的正则表达式模式。"[-\w]+" 将得到 "word and -",类似 "a-b9-c-" 或 "---" (?P...) 是一个“命名组”。如果你不给出它的名字,python(我的是 2.7)会报错。
>>> m = re.match("(?P<e>[-\w]+)/$", "a-b-c-/")
>>> m.group('e')
'a-b-c-'
>>> m = re.match("(?P[-\w]+)/$", "a-b-c-/")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/re.py", line 137, in match
return _compile(pattern, flags).match(string)
File "/usr/lib/python2.7/re.py", line 244, in _compile
raise error, v # invalid expression
sre_constants.error: unknown specifier: ?P[
于 2012-04-18T05:45:32.877 回答