Tornado之模板基础

xiaoxiao2021-02-28  58

Tornado之模板基础

import tornado import tornado.ioloop import tornado.web import tornado.httpserver import time import tornado.options from tornado.options import options,define define("port",default=8080,help="run port",type=int) class MainHandler(tornado.web.RequestHandler): def get(self): self.write("我在下面!<br>") self.render('01in_out.html') def post(self, *args, **kwargs): name = self.get_argument("name","no") #self.write(name) urllist = [ ('http://www.shiguangkey.com/',"课堂"), ('http://www.baidu.com/',"百度"), ('http://www.zhihu.com/',"知乎") ] atga =""" <a href="http://www.baidu.com/" target="_blank"> __百度</a><br> """ ##模板转义,尖括号被变成其他的了 self.render("02template.html", ##跳转到02template.html页面 username = name, ###不定长参数,字典传参 实在动态的往页面填入数据 time=time, urllist = urllist, atga = atga ) application = tornado.web.Application( handlers = [ (r"/tem", MainHandler), ], template_path = 'templates', #在 application 中配置模板文件和静态文件的路径: static_path='static', #引入静态文件 #autoescape = None, #整个项目 全局去掉转义 debug=True ) if __name__ =="__main__": tornado.options.parse_command_line() http_server=tornado.httpserver.HTTPServer(application) http_server.listen(options.port) tornado.ioloop.IOLoop.instance().start()

下面看前端02template.html文件代码:

<!DOCTYPE html> {# autoescape None #} <!-- 对模板级别取消转义 加% 此处为做笔记注释掉--> <html lang="en"> <head> <meta charset="UTF-8"> <title>template</title> <style> * { margin: 0; padding: 0; } body{ background: blanchedalmond; } </style> </head> <body> hello {{username}} <br> {{1+1}} <br> {{a=time.time()}} <!--大括号里面可以运行python的表达式--> <br> {% if username != 'no' %} 欢迎 {{ username }}登录 {% else %} 请登录! {% end %} <br> <!--大括号加%是模板的指令 模板的符号 end结束--> <!--{# a=time.time() #} 注释应该里面这样 --> <br> {{!1+1 }} <!--上面这样可以原样打印出源码,语句不执行--> <br> {% for i in urllist %} {{ i }} <a href="{{ i[0] }}" target="_blank"> {{i[1]}} </a><br> {% end %} <br> <!--在模板里面声明变量,用set 声明与修改--> {% set a = 0 %} {% while a<5 %} {{ a }}<br> {% set a +=1 %} {% end %} <br> {{ atga }} 转义 <br> {% raw atga %} 局部去掉转义 <!-- 前面加上raw就去掉转义,就不会把尖括号变成其他的了 --> <br> {{ escape(atga) }} <!--开启模板不转义之后,escape(atga) 对部分进行转义--> <br> {% if username != 'no' %} 欢迎 {{ username }}登录 <img src="{{ static_url('images/2.jpg') }}" width="200" height="200"> <img src="static/images/3.jpg" width="200" height="200"> <!--此处的static会自动寻找变量,注意static文件的引入方式--> {% else %} 请登录! {% end %} </body> </html> 部分代码来自—-潭州课堂
转载请注明原文地址: https://www.6miu.com/read-2622374.html

最新回复(0)