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
kkklebron
V2EX  ›  Python

Python Tornado 框架在前后端分离时,后端的路由信息表示什么含义?

  •  
  •   kkklebron · 2020-07-28 13:16:41 +08:00 · 2454 次点击
    这是一个创建于 1579 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近刚刚开始学习 Tornado 框架,也在熟悉公司的后端源码。不过公司的 web 搭建时是前后端分离的,不太能理解后端的路由信息表示什么含义。譬如以下这行代码

    routes = [(r"/message", MessageHandler)]
    application = tornado.web.Application(routes, **settings) 
    

    我想知道其中的/message句柄是如何被匹配的呢?

    有这样问题的原因是:在我看的视频和文字教程中,这里的匹配式都是与浏览器访问的 url 相关联的。但是在浏览器访问公司网址时,并不会输入这样一种格式的 url 。

    因为我的目的是想知道在访问一个页面的过程中,调用了哪些 handler 进行处理。所以这样一下子就不知道该如何入手了,特来向大家请教~

    9 条回复    2020-07-28 21:00:55 +08:00
    pwli
        1
    pwli  
       2020-07-28 13:19:59 +08:00 via Android
    这个是给前端调用的
    kkklebron
        2
    kkklebron  
    OP
       2020-07-28 13:28:12 +08:00
    @pwli 谢谢解答~那基于此,如果想知道访问某个 url 的过程中,调用了哪些后端提供的 handler,是不是必须要去看前端的源码才可以呢?
    DoodleSit
        3
    DoodleSit  
       2020-07-28 13:33:30 +08:00
    routes 就是一个 mapping,就是一大堆 url 匹配+ 处理的 handler 的集合,
    建议你看下什么是 URL,routes 里匹配的的是 path 部分(也可以包含 query )
    kkklebron
        4
    kkklebron  
    OP
       2020-07-28 13:47:55 +08:00
    @DoodleSit 您好,您说的这部分内容我似乎有所了解。例如原帖中 routes 可以对'www.xxxx.com/message'匹配并处理。我的问题就是在访问网页的过程中并不会输入这样一个 url,所以想知道这个 routes 是不是由前端调用的,而不是给用户调用的。
    kanezeng
        5
    kanezeng  
       2020-07-28 13:57:14 +08:00
    "我的目的是想知道在访问一个页面的过程中,调用了哪些 handler 进行处理"
    打开浏览器的开发者工具,看看打开每一个网页的时候浏览器调用了哪些接口就知道了。
    DoodleSit
        6
    DoodleSit  
       2020-07-28 14:06:32 +08:00
    你说的是网页如何发请求?是前端调用的,xmlhttprequest 、axios 、jquery 都可以发
    DoodleSit
        7
    DoodleSit  
       2020-07-28 14:08:04 +08:00
    如何看前端 log 的话,打开 chrome 的控制台,切换到 network,勾选 xhr,然后刷新下网页就能看了
    no1xsyzy
        8
    no1xsyzy  
       2020-07-28 19:27:21 +08:00
    上面说的 log 能基本看个大概
    完全掌握所有边角情况还是得看前端代码。
    如果不接触 JavaScript 的话,提一个看前端代码找网络访问情况的诀窍,
    如果前端写得正常,应该会有 *_HOST 这种名字的全大写伪常量,基本盯着使用这个变量的地方就行。
    有时会封装一个函数里用上这个变量,那么把这个函数也纳入考量。
    pwli
        9
    pwli  
       2020-07-28 21:00:55 +08:00 via Android
    这个是给前端调用的
    @kkklebron 是的,或者看开发者工具控制面板
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2172 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 01:27 · PVG 09:27 · LAX 17:27 · JFK 20:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.