Django漢字Cookie編碼問題

2021-08-08 10:50:27 字數 757 閱讀 6188

解決這個問題很簡單,只需要將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 相對時間...