2012-08-02 78 views
4

我想在燒瓶中創建一個cookie。該手冊中的部分例子是:在燒瓶中設置一個cookie

resp = make_response(render_template(...)) 
resp.set_cookie(’username’, ’the username’) 

所以我實現它作爲

resp = render_template('show_entries.html', AO_sInteger = session.get('AO_sInteger')) 
resp.set_cookie('AO_sInteger', AO_sInteger) 

然後,系統與返回錯誤:

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

我怎樣才能解決這個問題呢?

+0

RESP不這裏的響應對象 – 2012-08-02 08:17:50

回答

8

在手動RESP是:

resp = make_response(render_template(...)) 

,並在你的代碼是:

resp = render_template('show_entries.html', AO_sInteger = session.get('AO_sInteger')) 

使用make_response使它成爲一個適當的響應對象:

from flask import make_response 
resp = make_response(render_template('show_entries.html', AO_sInteger = session.get('AO_sInteger'))) 
+1

'rented_template'返回一個Unicode字符串。 Cookie在響應對象上設置,而不是字符串。只有在創建該對象後(如上所示),才能調用其[set_cookie](http://flask.pocoo.org/docs/api/#flask.Response.set_cookie)方法。或者,直接實例化[flask.Response](http://flask.pocoo.org/docs/api/#flask.Response)類。 – 2012-08-02 08:59:15

+0

比你!我再也沒有那個錯誤了 – 2012-08-02 11:53:50