V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
xth12138
V2EX  ›  Python

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

  •  
  •   xth12138 · 2018-03-18 15:07:03 +08:00 · 3722 次点击
    这是一个创建于 2443 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在 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),
    
    5 条回复    2018-05-14 18:52:19 +08:00
    janxin
        1
    janxin  
       2018-03-18 22:20:35 +08:00
    re_path 正则路由,了解一下?
    xth12138
        2
    xth12138  
    OP
       2018-03-18 23:31:38 +08:00
    @janxin 有了新的路由方式,就感觉不想用正则了,毕竟本来也就不熟悉正则,看的头大
    yearliny
        3
    yearliny  
       2018-03-19 08:45:20 +08:00 via Android
    试试 path(<path:name>, views.view_history),
    yearliny
        4
    yearliny  
       2018-03-19 08:47:40 +08:00 via Android
    前面书写错误,手机修改内容太麻烦了。
    path('history/<path:name>/', views.view_history),
    sevenQu
        5
    sevenQu  
       2018-05-14 18:52:19 +08:00
    你好,我遇到同样的问题,你解决了吗?我是想匹配 53_P_1495068879687.jpg ,上面没有一个符合需求的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2699 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:35 · PVG 08:35 · LAX 16:35 · JFK 19:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.