Django URL regex“不是有效的正则表达式”

2024-06-06 23:40:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我在配置以下url时遇到了一些问题。我希望它能够匹配从一个类别开始,然后以一个slug结束的页面,例如:

/category1/post1/
/category2/post2/
/category3/post3/
/category1/post4/
/category2/post5/

我试过很多不同的方法都没有成功。。。我总是收到“is not a valid regular expression”错误。 我认为它应该是这样工作的:

^{pr2}$

我对regex相当陌生,正在努力学习,因此,如果有任何关于此问题的帮助,并提供解释,我将不胜感激:)


Tags: 方法urlpost2ispost4not页面类别
1条回答
网友
1楼 · 发布于 2024-06-06 23:40:32

您的模式不正确;您将替代值放在了错误的位置。你把它们放在组的名称中:

(?P<category1|category2|category3>...)

把它们放在名字应该匹配的部分:

^{pr2}$

进行完全注册:

url(r'^(?P<category>category1|category2|category3)/(?P<slug>[\w\-]+)/$', blog_post, name='blog_post'),

我假设您的blog_post可调用文件如下所示:

def blog_post(category, slug):

相关问题 更多 >