Ale*_*son 3 python cookies flask
我正在尝试编写一个装饰器来检查 cookie,如果它不存在则设置一个。这是我不顾一切地试图传达这个想法。
def set_cookie(f):
def decorated_function(*args, **kws):
if 'cstc' in flask.request.cookies.keys():
return make_response(f).set_cookie('cstc', value='value')
else:
return f
return decorated_function
@main.route('/home')
@set_cookie
def home():
return render_template('main/home.html')
Run Code Online (Sandbox Code Playgroud)
现在我收到错误:
TypeError: home() takes no arguments (2 given)
Run Code Online (Sandbox Code Playgroud)
您必须调用原始函数:
def set_cookie(f):
def decorated_function(*args, **kws):
response = f(*args, **kws)
response = make_response(response)
if 'cstc' in flask.request.cookies.keys():
response.set_cookie('cstc', value='value')
return response
return decorated_function
Run Code Online (Sandbox Code Playgroud)