解決這個問題很簡單,只需要將cookie由 unicode 型別轉為 str 型別就可以了,可以用傳統的方法,如:
from urllib import unquote
un = u"漢字"
# response.set_cookie("username", un) # unicodeencodeerror!
un2 = unquote(unicode(un).encode("utf-8"))
response.set_cookie("user_name", un2) # ok
另外,django提供了三個方法來解決這個問題:
django.utils.encoding.smart_unicode
django.utils.encoding.force_unicode
django.utils.encoding.smart_str
下面來看看如何使用smart_str來解決該問題:
from django.utils.encoding import smart_str
un = u"漢字"
response.set_cookie("username", un) # unicodeencodeerror!
un2 = smart_str(un)
response.set_cookie("user_name", un2) # ok
django學習日記 cookie
path 用於從該cookie被指定的url使用,domin指定使用的網域名稱 www.baidu.com為二級網域名稱,baidu.com為頂級網域名稱 都只能在當前網域名稱和路徑下使用,secure 當用https時設為true,僅僅http網路傳輸可以使用 僅可保證相對安全 客戶端操作cook...
Django 自製登入系統(cookie)
預計實現 使用者註冊 登入的功能 urlpatterns url r login views.login,name login url r register views.register,name register url r logout views.logout,name logout 一 mo...
Django使用cookie 設定引數
我用max age這樣設定 set cookie uname uname,max age 60 1 是沒有問題的,cookie會定時失效 max age是相對時間 用expires過期時間設定,試過很多寫法,都無法定時失效 set cookie uname uname,expires 10 相對時間...