整理flask常规操作

from flask import Flask
app = Flask(__name__)

@app.route("/login",methods=["get","post"])
def login():
    return "hello world"

# Response 5 种
# render_template("模板路径")
# redirect("/路由")
# "HttpResponse"
# 封装
# send_file("文件路径") 打开并返回文件内容 自动识别文件类型 Content-Type:文件类型
# jsonify 返回标准的JSON格式字符串 Content-Type:application/json
# Flask 1.1.1 中 直接返回字典 或元组 或列表时 自动执行 jsonify

# Request
# from flask import request
# request.method # 请求方式
# request.form # FormData中的数据
# request.args # 获取URL中的数据
# request.files # 获取文件数据 FileStorage save(文件路径)快速保存文件
# request.headers # 请求头
# request.cookies # cookie信息
# 95% 可能 会遇到的情况
# request.json # 请求头中 Content-Type:application/json 字典
# 前端即将被开除的情况
# request.data # Content-Type 不包含 Form 字眼 保存请求体的原始信息 b""  Content-Type 不能被识别

# Flask Session
# from flask import session
# app.secret_key = "$%^&&$%^&*(%^&*("
# session["user"] = "123"
# 交由客户端保管机制
# 客户端的Cookie中存储由secret_key序列化后的Session

# 路由
# @app.route("/index/<args>",methods=["get"])
# app.add_url_rule()
# methods=["get"] 允许请求方式
# endpoint 路由与视图函数之间的 Mapping 对应关系 , 默认值是视图函数名称
# defaults={"id":1} 默认参数
# strict_slashes=True 是否严格遵循路由规则 "/index/" == "/index" == False    "/index" == True 默认True
# redirect_to 永久重定向 301 308
# 动态参数路由 "/index/<args>" def index(args)

# 初始化Flask
# app = Flask(__name__)
# __name__ 锁定当前项目目录
# template_folder 模板存放目录 默认 templates
# static_folder 静态文件存放目录 默认 static
# static_url_path 静态文件访问路径 默认 "/{static_folder}"

# Flask中的 Config 对象
# app.default_config # 查看默认配置
# app.config["DEBUG"] = True
# class DebugConfig(object):
#     DEBUG=True
#     SESSION_COOKIE_NAME = "$%^&*$%^&"
#     SECRET_KEY = "%^&*$%^&*RT%YUI^&"
# app.config.from_object(DebugConfig)

# 装饰器
# @app.before_request # 请求进入视图函数之前
# def be1():
#     return None # 不进行任何处理 只要有返回值则中断请求 直接响应
#
# @app.after_request # 视图函数结束 ,响应返回客户端之前
# def af1(res): # 接收响应
#     return res # 返回响应

# 正常请求周期 : be1 - be2 - be3 - ViewFunc - af3 - af2 - af1
# 异常请求周期 : be1 - be2 - af3 - af2 - af1

# @app.errorhandler(404) # 错误信息重定义 只能监听错误码 4xx 5xx
# def error404(errorMessage): # 接收原始错误信息
#     return "" # 5 种 Response

# 蓝图
# from flask import Blueprint
# 蓝图 是一个不能被run的Flask 示例 没有Config对象
# 蓝图的作用 功能解耦 代码解耦
# bp = Blueprint("蓝图表示当前app中唯一",__name__,url_prefix="/blue")
# url_prefix="/blue" url前缀 ,如果要访问当前蓝图中的应用 必须增加前缀 /blue
# @bp.route("/user",methods=("GET",)) # /blue/user
# def user():
#     return ""

# app.register_blueprint(bp) # 注册蓝图 - Flask 示例中 添加蓝图应用


# CBV
# from flask.views import MethodView
# from flask import views

# class Login(MethodView)
# class Login(views.MethodView):
    """
    根据Http 8 种 请求方式 定义当前视图类的方法
    """
    def get(self):
        pass

    def post(self):
        pass

app.add_url_rule("/login",view_func=Login.as_view(name="login"))

if __name__ == '__main__':
    app.run("0.0.0.0",9527)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值