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的目录配置

 

 

posted @   强仔必胜  阅读(148)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示