# -*- 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
请问这样子对吗?
三叔2016-10-22 15:58:16
你这排版,对于有强迫症的筒子来说,简直是末日...
首先,是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里面