Django2.0 的路由配置中,如何匹配任意字符

2018-03-18 15:07:03 +08:00
 xth12138

在 django2.0 中不再使用正则表达式进行路由匹配,而是启用了新的路由配置,更加简洁

str,匹配除了路径分隔符(/)之外的非空字符串,这是默认的形式
int,匹配正整数,包含 0。
slug,匹配字母、数字以及横杠、下划线组成的字符串。
uuid,匹配格式化的 uuid,如 075194d3-6885-417e-a8a8-6c931e272f00。
path,匹配任何非空字符串,包含了路径分隔符

我的问题是如何匹配任意字符,需要使用自定义吗? 我需要实现的是当用户访问/history或者/history/任意字符事都跳转到 history 页面,在不使用正则的情况下可以实现吗,试了上面的自带的路由转化器,似乎没有达到想要的效果。也有可能我没太读懂这个转换器的意思,请支出。 或者在同一条路由配置中,可以使用多个匹配方式吗? 我是一个初学者,希望能够得到大家的帮助,谢谢!

def view_history(request,history):
    return HttpResponse('这是观看历史页')

path('此处如何匹配',views.view_history),
3557 次点击
所在节点    Python
5 条回复
janxin
2018-03-18 22:20:35 +08:00
re_path 正则路由,了解一下?
xth12138
2018-03-18 23:31:38 +08:00
@janxin 有了新的路由方式,就感觉不想用正则了,毕竟本来也就不熟悉正则,看的头大
yearliny
2018-03-19 08:45:20 +08:00
试试 path(<path:name>, views.view_history),
yearliny
2018-03-19 08:47:40 +08:00
前面书写错误,手机修改内容太麻烦了。
path('history/<path:name>/', views.view_history),
sevenQu
2018-05-14 18:52:19 +08:00
你好,我遇到同样的问题,你解决了吗?我是想匹配 53_P_1495068879687.jpg ,上面没有一个符合需求的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/439121

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX