zoukankan      html  css  js  c++  java
  • flask

     

    安装

       pip3 install flask 

    1路由系统 
            - 默认使用app.route('/index',methods=['GET',"POST"])
            - 想要给视图添加装饰器:
                - 装饰器必须设置functools.wappers
                - 紧挨着放在视图之上
                     import functools

    def auth(func):
    @functools.wraps(func) # 保留函数的元信息
    def inner(*args,**kwargs):
    if not session.get('user_info'):
    return redirect('/login')
    ret = func(*args,**kwargs)
    return ret
    return inner

          
           @app.route('/detail')
           @auth
           def detail():
            nid = request.args.get('nid')
          return render_template('detail.html')


    2. 视图函数
      - 请求相关:
        - request.form(取到post请求数据)
        - request.args (取到get数据)
        - request.method (判断是否是XX方法)
        - reqeust.path(获取url,在登录时排除login url设置白名单)
      - 响应相关:

          建在templates目录下
            - return "xxx"(返回字符串)
            - return render_template('index.html')(返回一个html页面,且)

          return render_template('index.html',klist=kuang_list)
          return render_template('index.html',**{'klist':kuang_list})


        - return redirect()(跳转)
    5. 模板
        - 索引:
        - python语法(支持python语法)
        - 模板继承

    6. 保存会话信息:session (字典)
      - 放在加密的cookie中
      - 依赖:
        app.secret_key = "asdfasdfasdf"
      -操作:
        session['k1'] = 123
        session.get('k1')
        del session['k1']

    7. 特殊装饰器:(见截图)
      - before_request(所有请求之前执行)
      - after_request(所有请求之后执行)

    
    

     装饰器:

      

     hello_world flask版

    from flask import Flask
    
    app=Flask(__name__)
    @app.route('/index/')
    def index():
        return 'HelloWorld'
    
    if __name__ == '__main__':
        app.run()
    flask_helloWorld

    session版登录 

    保存到了浏览器的cookie中了

    static 、templates的目录配置

  • 相关阅读:
    HBase 高性能加入数据
    Please do not register multiple Pages in undefined.js 小程序报错的几种解决方案
    小程序跳转时传多个参数及获取
    vue项目 调用百度地图 BMap is not defined
    vue生命周期小笔记
    解决小程序背景图片在真机上不能查看的问题
    vue项目 菜单侧边栏随着右侧内容盒子的高度实时变化
    vue项目 一行js代码搞定点击图片放大缩小
    微信小程序进行地图导航使用地图功能
    小程序报错Do not have xx handler in current page的解决方法
  • 原文地址:https://www.cnblogs.com/wanghuaqiang/p/9359401.html
Copyright © 2011-2022 走看看