【tornado】5.URL反向解析

URL反向解析

反向解析就是通过一个页面的标签来找到这个页面对应的地址

首先修改一下application.py文件:

由于反向解析方法有个name参数,故这里不使用一般的路由元祖,而是使用tornado.web.url函数来生成路由信息:

from views.index import IndexHandler,HomeHandler,ReverseDomainHandler
import tornado.web
import config

class Application(tornado.web.Application):
    def __init__(self):
        handlers=[
            (r'/',IndexHandler),
            (r'/home',HomeHandler),
            tornado.web.url(r'/reversedomain',ReverseDomainHandler,
                            {"word1":"test1","word2":"test2"},name="RD")

        ]
        super(Application,self).__init__(handlers,**config.settings)

核心句是:

tornado.web.url(r'/reversedomain',ReverseDomainHandler,
                            {"word1":"test1","word2":"test2"},name="RD")

r’/reversedomain’:URL域名地址
ReverseDomainHandler:页面处理类
{“word1”:“test1”,“word2”:“test2”}:传入ReverseDomainHandler的参数
name=“RD”:这个页面的名字(标签)

然后写一下我们的ReverseDomainHandler类:
from tornado.web import RequestHandler
import config
import os

class IndexHandler(RequestHandler):
    def get(self):
        url=self.reverse_url("RD")
        self.write("<a href='%s'>reverse domain page</a>"%(url))

class HomeHandler(RequestHandler):
    def get(self):
        self.write("test:Home")

class ReverseDomainHandler(RequestHandler):
    def initialize(self,word1,word2):
        self.word1=word1
        self.word2=word2

    def get(self, *args, **kwargs):
        print(self.word1,self.word2)
        self.write("reverse domain test")

这个代码中,URL根目录有个“reverse domain page”的超链接,点击这个超链接,就可以通过反向解析进入到reversedomain的页面,并显示“reverse domain test”

运行结果:

在这里插入图片描述
点击链接后:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值