Flask基础知识点总结(一),新手必看!!!

Flask基础分为三个阶段,此版本为你第一版,后续请各位同学继续关注!!!

#1Flask的搭建环境及使用,以及视图函数的用法
使用pip install Flask 指令进行扩展包的安装
在Pycharm中使用 from flask import Flask进行导入
基本的模型为:
from flask import Flask 

app = Flask(__name__)

@app.route('/')#指定路由地址
def index():
    
    return 'hello world'
if '__name__'=='__main__':
    app.run()#启动服务
#2视图的常用逻辑
2-1 返回JSON
#在使用 Flask 写一个接口时候需要给客户端返回 JSON 数据,
#在 Flask 中可以直接使用 jsonify 生成一个 JSON 的响应

# 返回JSON
@app.route('/demo4')
def demo4():
    json_dict = {
   
        "user_id": 10,
        "user_name": "laowang"
    }
    return jsonify(json_dict)
2-2 重定向 使用redirect模块

@app.route(/123)
def demo()return redirect('http://www.baidu.com')
    
# 异常捕获
HTTP 异常主动抛出,abort方法‘abort(500),给定一个状态码
捕获错误 errorhandler
from flask import Flask 

app = Flask(__name__)

@app.errorhandler(500)
def index(e):
    return '服务器找不到了'
@app.errorhandler(ZeroDivisionError)
def zero(e):
    return '除数不能为0'
if '__name__'=='__main__':
    app.run()

Cookie

客户端和服务端进行会话保持的一种技术

cookies保存在客户端,具体的数据是每次访问服务器后,服务器通过响应头的set_cookies字段告诉浏览器,需要将指定的数据保存在cookies中,并且浏览器下一次发起请求时,会自动将cookies中的数据写入请求头的Cookie字段中传给浏览器

cookies的存储具有一定的有效期,并且时同源策略(浏览器只会携带百度的cookies传给百度服务器)

user_data = {}


@app.route("/")
def index():
# 获取cookie
id = request.cookies.get("user_id")
if id:
    name = user_data[id]
    return "welcome %s" % name
else:
    return "请登陆"


@app.route("/user", methods=['POST', "GET"])
def user():
# 获取参数
    name = request.args.get('name', "")
    id = request.args.get("id", "")

# 保存数据
    user_data[id] = name

# 构造响应
    resp = make_response("登陆完成")
# 设置cookie
     resp.set_cookie("user_id", id)

        return resp

session

将用户信息直接存储在Cookie中并不安全,可以考虑将用户信息存储到服务器中,并且加密存储,只把存储位置放入cookies中,以后浏览器通过携带cookies中存储位置找到对应数据

from flask import session

使用session必须设置secret_key

app.secret_key = "itcast"

@
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值