1. 直接输出文本
使用 write 方法可以直接将文本写入响应:
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Hello, Tornado!")
2. 模板渲染
Tornado 使用模板引擎来生成动态内容。通过 render 或 render_string 方法可以渲染模板并将结果写入响应:
class MainHandler(tornado.web.RequestHandler):
def get(self):
name = "Tornado"
self.render("template.html", name=name)
在上述例子中,模板文件 template.html 中可以包含类似 {{ name }} 的占位符,Tornado 会将其替换为相应的值。
3. JSON 数据返回
如果你的应用需要返回 JSON 格式的数据,可以使用 write 方法结合 json 模块:
import json
class APIHandler(tornado.web.RequestHandler):
def get(self):
data = {"message": "Hello, Tornado!"}
self.write(json.dumps(data))
self.set_header("Content-Type", "application/json")
或者使用 write 方法的 json 方法:
class APIHandler(tornado.web.RequestHandler):
def get(self):
data = {"message": "Hello, Tornado!"}
self.write(data)
4. 重定向
使用 redirect 方法可以进行重定向:
class RedirectHandler(tornado.web.RequestHandler):
def get(self):
self.redirect("http://www.example.com")
5. 静态文件
如果你需要提供静态文件(如图片、样式表、脚本等),Tornado 可以通过 StaticFileHandler 处理:
app = tornado.web.Application([
(r'/static/(.*)', tornado.web.StaticFileHandler, {'path': '/path/to/static/files'}),
])
上述配置会将 /static/ 路径下的请求映射到对应的静态文件。
这些方法可以根据具体的应用场景进行组合使用,使得 Tornado 应用可以满足各种输出需求。同时,Tornado 的异步特性也使得在处理大量并发请求时保持高效。
转载请注明出处:http://www.pingtaimeng.com/article/detail/7425/Tornado