# -*- coding:utf-8 -*-
from flask import Flask,redirect
app = Flask(__name__)
@app.route('/')
def index():
res = request.cookie()
if res == '':
return redirect('/login')
@app.route('/login')
def v_login():
return 'this page is for login only!'
app.run(host='0.0.0.0',port=80)我是这样想的:获取cookie内容,判断cookie是否为空,如果为空就重定向到login
请问这样子对吗?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
你这排版,对于有强迫症的筒子来说,简直是末日...
首先,是cookies而不是cookie,然后cookies是一个字典,而不是一个函数,所以你不能用cookies()这样的方法来进行取值
可以看下官方文档的说明
作为字典,你必须要用get才能取到里面的值,比如一般来说你要取username的值,那你可以如下写。
from flask import Flask,request,redirect,url_for app = Flask(__name__) @app.route('/') def index(): res = request.cookies.get('username') if res is None: return redirect(url_for('login')) @app.route('/login') def login(): return 'You are in login route now' if __name__=='__main__': app.run(debug=True)然后可以看下结果,我的request里面当然是没有username的,所以,我被redirect到了login里面