tornado 控制流语句

 主要用途就是通过python语句来控制前端html代码,此处是最简单的运用。

import os.path
import tornado.web
import tornado.httpserver
import tornado.options
import tornado.ioloop

from  tornado.options import  options,define
define("port",default=8000,help="on the given help",type="int")

class BookHandler(tornado.web.RequestHandler):
    def get(self):
        self.render(
            "book.html",
            title="Home Page",
            header="Books that are great",
            books=[
                "Learning Python",
                "Programming Collective Intelligence",
                "Restful Web Services"
            ]
        )
if __name__ == '__main__':
    tornado.options.parse_command_line()
    app = tornado.web.Application(
        handlers=[(r'/', BookHandler)],
        template_path=os.join(os.path.dirname(__file__), "templates")
    )
    http_server = tornado.httpserver.HTTPServer(app)
    http_server.listen(options.port)
    tornado.ioloop.IOLoop.instance().start()

html语句中的{{ title}},{{header}},等都是等待后端来改变的。在双大括号中的单词是占位符,当我们渲染模板时希望以实际值代替。 

          {% for book in books %}
                <li>{{ book }}</li>
            {% end %}

 代表的是for循环语句,最后用end结束。请注意一个细节{% end %}才是正确的输入,而{ %  end   %  }不是正确的输入。%与{之间不能有空格。

<html>
    <head>
        <title>{{ title }}</title>
    </head>
    <body>
        <h1>{{ header }}</h1>
        <ul>
            {% for book in books %}
                <li>{{ book }}</li>
            {% end %}
        </ul>
    </body>
</html>

 浏览器输入网址:http://localhost:8000/?greeting=Hello%20tornado,界面如下图所示:

猜你喜欢

转载自blog.csdn.net/weixin_42528089/article/details/83039995