博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Tornado-第一篇-搭建网页
阅读量:4318 次
发布时间:2019-06-06

本文共 2749 字,大约阅读时间需要 9 分钟。

  manage.py

from tornado.ioloop import IOLoop  # 处理I/Ofrom 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.get_secure_cookie('xxxxx')        if not name:            self.redirect('/login')# home页面  要先继承AuthHandlerclass 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和中间件cookiesettings = {    '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()

  index.html

    
Title

用户列表

{% for k,v in user_dict.items() %}
{% end %}
ID 姓名 年龄
{
{k}}
{
{v['name']}}
{
{v.get('age')}}
    {% for item in num %}
  • {
    {item}}
  • {% end %}

{
{num[1]}}

  login.html

    
Title
{
{error}}

  

 

 

转载于:https://www.cnblogs.com/weilaixiaochaoren/p/10273402.html

你可能感兴趣的文章
第十二周编程总结
查看>>
数据结构——树——二叉查找树
查看>>
StringBuilder動態串
查看>>
系列文章(二):从WLAN的安全威胁,解析电信诈骗的技术症结——By Me
查看>>
内部类演示
查看>>
多态/接口
查看>>
简单的proxy之TinyHTTPProxy.py
查看>>
正式开张
查看>>
java中的注解
查看>>
日期选择组件(DatePicker)的实现
查看>>
Java 求字符串中出现频率最高字符
查看>>
ARM Cortex-M3 异常优先级以及CMSIS RTOS RTX的中断优先级
查看>>
CodeFirst-Section1之小例子
查看>>
Scikit-learn的kmeans聚类
查看>>
MySQL基础(创建库,创建表,添加数据)
查看>>
git 提交丢失Warning, you are leaving 2 commits behind,
查看>>
3、使用SWFUpload使异异步上传文件
查看>>
HDOJ 2136 Largest prime factor
查看>>
Recommended add-ons/plugins for Microsoft Visual Studio [closed]
查看>>
怎么使用 ab.exe 测试多个url。 how to use ab.exe test many url
查看>>