用tornada搭建一个简单的网站。 一、程序结构 1、handler:处理网络请求。 2、application:创建一个tornado应用。 3、html+js+css网页界面。
二、运行一个网络服务 server.py
import tornado.ioloop import tornado.web # 导入 # mainhandler是处理网络请求的类,必须继承requestHandler。 class MainHandler(tornado.web.RequestHandler): # get方法,接受get请求 def get(self): p1 = self.get_arguments('p') self.write("Hello, world") # post 请求处理post请求。 def post(self): p1 = self.get_body_arguments('p') self.write("this is post request") def create_app(): return tornado.web.Application( # 这里的数组, 是路由,每一条对应一个请求路由。 [ (r"/", MainHandler), ] ) if __name__ == "__main__": app = create_app() app.listen(9001) tornado.ioloop.IOLoop.current().start()
三、打开一个网页 修改一下上面的MainHandler类
class MainHandler(tornado.web.RequestHandler): # get方法,接受get请求 def get(self): p1 = self.get_arguments('p') self.write("<div style="color:red" > this html </div>")
字符串的形式返回html。接下里使用模板,注意结构变化了,原理是不会变得,也是把模板转变成字符串,然后write方式传递给浏览器。
四、简单的模板
def get_template(): return ''' <head> <title> %s </title> </head> <body> <div> %s </div> </body> ''' class MainHandler(tornado.web.RequestHandler): # get方法,接受get请求 def get(self): html = get_template() html = html %("表达爱心","你是我的最爱") self.write(html)
看看这段代码,模板实际上是字符串结构中,嵌入变量,从而可以在内部得到想要的结果。下面看看tornado里的模板。
五、模板 tornado的使用render方法来实现的。
class MainHandler(tornado.web.RequestHandler): # get方法,接受get请求 def get(self): p = self.get_arguments('blog1') if not p: raise tornado.web.HTTPError(404) self.render("blog1.html", entry=p)
blog.html的代码 <html> <head> <title> {{entry}} </title> </head> <body> <% if entry %> {{entry}} <% end %> <body> </html>
上面是tornado内部模板的语法规则。看{{}}两个大括号内的部分为变量。使用<% %>扩起来的,是可以操作的语句。例如判断语句、while循环等,都可以。只是语法规则不同。 下面会拿出一课堂单独讲讲tornado的模板。
查看更多关于Python学习第二十六课(搭建一个网站)的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did163018