在烧瓶中设置一个cookie

Dr *_*ser 7 python cookies flask

我正在尝试在烧瓶中创建一个cookie.手册中的部分示例是:

resp = make_response(render_template(...))
resp.set_cookie(’username’, ’the username’)
Run Code Online (Sandbox Code Playgroud)

所以我把它实现为

resp = render_template('show_entries.html', AO_sInteger = session.get('AO_sInteger'))
resp.set_cookie('AO_sInteger', AO_sInteger)
Run Code Online (Sandbox Code Playgroud)

然后系统返回错误:

File "...\Flaskr101.py", line 19, in add_entry
resp.set_cookie('AO_sInteger', AO_sInteger)
AttributeError: 'unicode' object has no attribute 'set_cookie'
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

NIl*_*rma 11

在手册中,resp是:

resp = make_response(render_template(...))
Run Code Online (Sandbox Code Playgroud)

在你的代码中它是:

resp = render_template('show_entries.html', AO_sInteger = session.get('AO_sInteger'))
Run Code Online (Sandbox Code Playgroud)

使用make_response以下命令使其成为正确的响应对象:

from flask import make_response
resp = make_response(render_template('show_entries.html', AO_sInteger = session.get('AO_sInteger')))
Run Code Online (Sandbox Code Playgroud)

  • `rented_template`返回一个Unicode字符串。Cookies是在响应对象上设置的,而不是字符串。只有在创建了该对象(如上所示)之后,您才能调用其[set_cookie](http://flask.pocoo.org/docs/api/#flask.Response.set_cookie)方法。或者,直接实例化[flask.Response](http://flask.pocoo.org/docs/api/#flask.Response)类。 (2认同)