Tornado--搭建网页

manage.py

from tornado.ioloop import IOLoop  # 处理I/O
from tornado.web import RequestHandler  # 处理请求
from tornado.web import Application  # 实例化APP网页

USER_DICT = {
    ‘1‘: {‘name‘: ‘金超‘, ‘age‘: ‘22‘},
    ‘2‘: {‘name‘: ‘小可‘, ‘age‘: ‘42‘},
    ‘3‘: {‘name‘: ‘小鱼‘, ‘age‘: ‘32‘},
    ‘4‘: {‘name‘: ‘小狗‘, ‘age‘: ‘52‘},
}

# 中间件用于验证是否登录
class AuthHandler(object):
    def prepare(self):
        # name = self.get_cookie(‘xxxxx‘)  #与Django方法做对比
        name = self.set_secure_cookie(‘xxxxx‘)
        if not name:
            self.redirect(‘/login‘)

# home页面  要先继承AuthHandler
class HomeHandler(AuthHandler, RequestHandler):
    def get(self, *args, **kwargs):
        self.render(‘index.html‘, user_dict=USER_DICT, num=[11, 22, 33])

# index主页面
class IndexHandler(AuthHandler, RequestHandler):
    def get(self, *args, **kwargs):
        # 用user_dict带入参数传给页面
        self.render(‘index.html‘, user_dict=USER_DICT, num=[11, 22, 33])

# login登录页面函数
class LoginHandler(RequestHandler):
    def get(self, *args, **kwargs):
        self.render(‘login.html‘, error=‘‘)

    def post(self, *args, **kwargs):
        # Tornado和Django做类比
        # self.get_query_argument(‘user‘)         request.GET.get(‘user‘)
        # self.get_query_arguments(‘user‘)        request.GET.getlist(‘user‘)
        # self.get_body_argument(‘user‘)          request.POST.get(‘user‘)
        # self.get_body_arguments(‘user‘)         request.POST.getlist(‘user‘)
        user = self.get_body_argument(‘user‘)
        pwd = self.get_body_argument(‘pwd‘)
        if user == ‘alex‘ and pwd == ‘123‘:
            self.set_secure_cookie(‘xxxxx‘, user)
            self.redirect(‘/index‘)
            return
        self.render(‘login.html‘, error=‘用户名或密码错误‘)

# 在settings中注册templates和中间件cookie
settings = {
    ‘template_path‘: ‘templates‘,
    ‘cookie_secret‘: ‘asq3wurasldf‘
}

# 在Application()方法里面写页面对应着函数
application = Application([
    (‘/login‘, LoginHandler),
    (‘/index‘, IndexHandler),
    (‘/home‘, HomeHandler),
], **settings)

# listen()方法可以监控端口和IP默认是本机
if __name__ == ‘__main__‘:
    application.listen(8888)
    IOLoop.instance().start()

  

原文地址:https://www.cnblogs.com/weilaixiaochaoren/p/10273402.html

时间: 2024-10-16 09:00:32

Tornado--搭建网页的相关文章

Python Tornado搭建高并发Restful API接口服务

Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快能实现高并发.得利于其 非阻塞的方式和对epoll的运用,Tornado 每秒可以处理数以千计的连接,这意味着对于实时 Web 服务来说,Tornado 是一个理想的 Web 框架.Tornado不同于其他python web框架,它是一个服务器,部署非常简单. 开发环境搭建: 1.Python3.7 2.Tornado 6.02 依赖包: peewee-asyn

python tornado 搭建webServer

1.安装tornado,我用的windows环境 在tornado网站上下载tornado: https://pypi.python.org/packages/source/t/tornado/tornado-4.2.tar.gz 解压tornado-4.2.tar.gz 在解压后的tornado-4.2文件夹中执行命令: python setup.py install 完成安装. 2.官方学习文档 http://www.tornadoweb.org/en/stable/guide/intro.

像积木一样搭建网页

前言 我们在浏览网页的时候,经常会看到很相似的几种内容.比如下面这两种样子: 看上去是不是比较像呢?其实就是图片的位置不一样,大致上可以认为是一样的吧,那么针对这样子的相似度较高的网页,我们应该怎么样开发呢? 其实这就得谈谈"页面重用机制"了,下面所写的积木式网页构建方式就能够很好的处理页面重用这个问题. 接下来将从以下4个方面对积木式网页开发进行描述: 分析页面结构 构建网页的结构 编写网页基本的样式 编写不同表现的样式 一.分析页面结构 虽然HTML的语法那些很简单,但是在网页设计

问题解决:访问自己搭建网页时出现:此地址使用了一个通常用于网络浏览以外的端口。出于安全原因,Firefox 取消了该请求。

出现这种问题就是端口受到了限制,但是其他端口却没受到限制不知为何,希望有看到的大佬帮忙解答一下,下面说一下这个问题的解决办法 火狐地址栏输入   about:config 然后右键新建字符串 输入network.security.ports.banned.override 接着输入你要访问的端口号即可 如果是多个端口就逗号隔开即可   87,88,89

搭建网页HTML结构

div 块级标签 span 行内标签 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <div> <img src="cat.jpg" alt="cat" wi

Python快速搭建自动回复微信公众号

Python快速搭建自动回复微信公众号 在之前的一篇文章 Python利用 AIML 和 Tornado 搭建聊天机器人微信订阅号 中用 aiml 实现了一个简单的英文聊天机器人订阅号.但是只能处理英文消息,现在用 图灵机器人 来实现一个中文的聊天机器人订阅号. 这里主要介绍如何利用 Python 的 Tornado Web框架以及wechat-python-sdk 微信公众平台 Python 开发包来快速搭建微信公众号. 完整的公众号代码 GitHub 地址:green ,由于目前此公众号有一

HTML5与CSS3实现动态网页

课程目录: 步骤1: 初识HTML5本阶段内容主要涵盖HTML5新增.删除标签.标签属性变化以及HTML5布局知识.通过本阶段学习,大家可以运用HTML5标签轻松实现网页音乐播放器和视频播放器,熟练运用HTML5的语义化标签进行静态网页的开发.1.HTML5标签变化 HTML5文档类型如何定义,有哪些标签,以及如何使用,从整体认识HTML52.HTML5网页布局 传统布局与HTML5网页布局的区别和意义,通过案例讲解如何使用HTML5搭建网页3.HTML5属性变化 了解这些属性带来的好处,加深对

tornado SSL 证书获取与服务器配置

转载注明出处: http://www.cnblogs.com/ityoung/p/8296088.html 自动化测试/持续集成/测试开发 QQ交流群: 70160503 服务端生成证书 进入 openssl 目录 $ cd /usr/lib/ssl 生成私钥 $ sudo openssl genrsa -des3 -out server.key 1024 生成 CSR 文件 $ sudo openssl req -new -key server.key -out server.csr -con

Linux运维高级篇—CentOS 7下Postfix邮件服务器搭建

第一章 实验环境 硬件环境:Linux服务器一台,IP地址:192.168.80.10:WIN7客户端一台,拥有OUTLOOK2013,测试用,与服务器在同一局域网内. Linux系统环境,如下图: 第二章 实验内容一:搭建DNS服务器二:搭建postfix服务器及普通发信三:普通收信四:认证收信五:squirrelmail收发邮件(搭建网页收发邮件)六:邮件群发功能配置七:邮件发送容量大小配置八:通过配置用户磁盘配额实现限制用户邮箱空间 第三章 实验步骤准备工作:[[email protect

Web前端攻城狮培养计划之前端小白入门:网页布局基础与常见网页特效

步骤1: HTML基础超文本标记语言(英文缩写:HTML)是为"网页创建和其它可在网页浏览器中看到的信息"设计的一种标记语言,为搭建网页结构做出第一步.本阶段主要介绍了HTML的语法基础.表格.表单.等标签,并有案例结合,达到学以致用. 第1课 HTML基础HTML是网页制作必备技能,在本课程主要介绍HTML概念.语法及常用基础标签 第2课 HTML表格表格在网页中用于数据和排版,本课程介绍表格概念.语法.操作,并通过案例掌握知识. 第3课 HTML表单表单用于收集用户信息,本课程介绍