Django url匹配错误模式的多个参数

杰弗里·史蒂文(Jeffrey Steven)

我的目标是创建一个url结构,其中简单的输入mywebsite.com/apple/将返回c_one,而输入mywebsite.com/apple/homepagec_two使用company=appleand返回pagetype=homepage

但是,该URLmywebsite.com/apple/homepage正在返回,c_one并认为公司为“ apple / homepage”。

我的代码在下面,请让我知道URL是否有解决此问题的方法,以意识到如果使用斜杠,则存在两个变量。谢谢!

url(r'^c/(?P<company>[\w|\W]+)/$', views.c_one, name='c_one'),
url(r'^c/(?P<company>[\w|\W]+)/(?P<pagetype>[\w|\W]+)/$', views.c_two, name='c_two'),
url(r'^c/(?P<company>[\w|\W]+)/(?P<pagetype>[\w|\W]+)/(?P<topic>[\w|\W]+)/$', views.c_three, name='c_three')
混合烘烤

问题在于您对模式的定义。

与同时使用,\w\W你基本上说,任何给定的字符

根据维基百科的定义\w就是[A-Za-z0-9_]和的定义\W就是[^A-Za-z0-9_]基本上\W是的补充\w,因此您可以匹配任何字符。

像这样修改您的配置,它应该可以工作:

url(r'^c/(?P<company>\w+)/$', views.c_one, name='c_one'),
url(r'^c/(?P<company>\w+)/(?P<pagetype>\w+)/$', views.c_two, name='c_two'),
url(r'^c/(?P<company>\w+)/(?P<pagetype>\w+)/(?P<topic>\w+)/$', views.c_three, name='c_three')

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何以各种模式为 django 的 url 提供多个参数

来自分类Dev

Django过滤多个URL参数

来自分类Dev

Django过滤多个URL参数

来自分类Dev

Django url 参数错误

来自分类Dev

具有Django URL模式的位置参数

来自分类Dev

带有多个 slug 的 Django url,没有反向匹配错误

来自分类Dev

无法解析 django url 参数的剩余错误

来自分类Dev

如何解决“找不到页面(404)”错误(“ Django尝试了这些URL模式...空路径与任何这些都不匹配。”)

来自分类Dev

Django更改URL模式

来自分类Dev

URL模式(Django编程)

来自分类Dev

Django:过滤多个参数

来自分类常见问题

Django:将参数传递到URL模式名称

来自分类Dev

Django:将参数传递到URL模式名称

来自分类Dev

Django:URL模式以包含来自多个字段的值

来自分类Dev

SCP协议错误:错误模式

来自分类Dev

Unicode Django URL参数

来自分类Dev

Django URL参数传递

来自分类Dev

Django,查看 url 参数

来自分类Dev

Django:处理用户输入错误 URL 模式导致 404 的情况

来自分类Dev

这是使用HttpClient的错误模式吗?

来自分类Dev

preg_match_all错误模式

来自分类Dev

Haskell:使用 ValTypes 解析错误模式

来自分类Dev

django-rest-framework如何处理多个URL参数?

来自分类Dev

如何在Django中传递多个URL参数

来自分类Dev

在Django中发送URL中的多个参数作为GET请求?

来自分类Dev

如何在Django中将多个参数传递给URL

来自分类Dev

如何在Django中传递多个可选的URL参数?

来自分类Dev

Django在request.GET中捕获多个URL参数

来自分类Dev

Django URL复制错误