Flask设置、获取、删除cookies

1、设置cookies

@app.route('/login/', methods=["GET", "POST"])
def login():
    if request.method == "POST":
        form_data = request.form
        username = form_data.get("username")
        password = form_data.get("password")
        user = User.query.filter_by(username=username).first()
        if  spw(password)==user.password:
            response = redirect('/index/')
            response.set_cookie("user_id",str(user.id))
            return response
    return render_template('login.html', **locals())

2、获取cookies

@app.route('/loginvalid/')
def  loginValid(fun):
    def  inner (*args,**kwargs):
        id=request.cookies.get("user_id")
        print(id)
        if id:
            print(id)
            user=User.query.get(str(id))
            if user:
                print(user)
                return  fun(*args,**kwargs)
        return redirect("/login/")
    return inner

3、删除cookies

@app.route('/logout/',methods=["GET","POST"])
def  logout():
    response=redirect("/login/")
    response.delete_cookie("user_id")
    return response
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Vue中删除后台设置cookies,可以通过调用JavaScript的document对象的cookie属性来实现。 首先,获取到需要删除的cookie的名称。可以通过使用Vue自带的路由钩子函数beforeDestroy,或者在需要删除cookie的组件中调用一个自定义函数来获取cookie的名称。 接下来,调用document.cookie来获取当前页面的所有cookie,并将其存储在一个变量中。 然后,使用JavaScript的字符串操作方法,如split()和substring(),将存储的所有cookie拆分成单独的cookie,并逐个判断其名称是否与需要删除的cookie名称匹配。 如果匹配成功,利用document.cookie属性的赋值操作将其设置成一个过期时间已经过去的值,即将其删除。 最后,若需要刷新页面以使删除的cookie生效,可以使用Vue的路由方法this.$router.go(0)来实现。 以下是一个示例代码: ``` // 在Vue组件中删除后台设置的cookie的函数 methods: { deleteCookie() { // 获取需要删除的cookie的名称(示例中假设要删除的cookie名称为 "username") let cookieName = "username"; // 获取当前页面所有cookie let cookies = document.cookie; // 将所有cookie拆分成单独的cookie let cookieList = cookies.split(";"); // 遍历cookie列表 for (let i = 0; i < cookieList.length; i++) { let cookie = cookieList[i]; // 判断cookie名称是否与需要删除的cookie名称匹配 if (cookie.indexOf(cookieName) !== -1) { // 将该cookie设置成一个过期时间已经过去的值,即删除该cookie document.cookie = cookieName + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;"; break; } } // 刷新页面以使删除的cookie生效 this.$router.go(0); } } ``` 请注意,根据具体的情况可能需要对上述代码进行适当的修改和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值