django,模型檔案新增中文字段說明報錯問題

2021-04-23 11:52:35 字數 1603 閱讀 2794

今天學習django的admin管理功能,據說很好很強大。。

全都弄好了,發現在管理頁面中字段的說明用的是資料庫中的欄位名也就是說顯示的是英文本'name'什麼的。覺得不爽,換了他。於是修改模型檔案。

class publisher(models.model):

name = models.charfield('出版商',max_length=30)

address = models.charfield('位址',max_length=50)

city = models.charfield('城市',max_length=60)

state_province = models.charfield('省',max_length=30)

country = models.charfield(國家',max_length=50)

website=models.urlfield(verbose_name='**')

def __unicode__(self):

return self.name 

儲存一下,web伺服器自動更新,結果當操作頁面到顯示頁的時候報錯了。錯誤是:「utf8' codec can't decode byte 0xb3 in position 0....」,意思的大概是說,在解碼的時候,不能正常介面utf8字元。這可咋整呢。

google了一下,大部分都是外文**,也有幾個國內哥們說過類似問題,反正就是說編碼問題。不過我也是看的五迷三道的。。。

於是我找了一下自己部落格中記錄的關於輸出unicode編碼的帖子,在shell中敲了出來

>>>a='我們'

>>>a

>>>'/xce/xd2/xc3/xc7'

>>>b=a.decode('gb2312') #按著gb2312解碼

>>>b

>>>u'/u6211/u4eec'

執行到這裡看出點門道,將a('/xce/xd2/xc3/xc7')按著gb2312解碼後,變成了unicode形式,兩個位元組,會不會我將這個傳入上邊的函式會解決於是修改**:

增加函式對字串按著「gb2312」進行解碼

def decode(info):

return info.decode('gb2312')

class publisher(models.model):

name = models.charfield(decode('出版商'),max_length=30)

address = models.charfield(decode('位址'),max_length=50)

city = models.charfield(decode('城市'),max_length=60)

state_province = models.charfield(decode('省'),max_length=30)

country = models.charfield(decode('國家'),max_length=50)

website=models.urlfield(verbose_name=decode('**'))

def __unicode__(self):

return self.name 

儲存後執行驗證一下

哈成功了。。。。

FCKEditor新增中文字型

fckeditor新增中文字型 預設情況下,fckeditor在進行文字編輯時,無法使用中文字型。開啟 fckconfig.js 檔案 找到第154行 應該是 會發現 程式 fckconfig.fontnames arial comic sans ms courier new tahoma time...

matplotlb新增中文字型

在預設狀態下,matplotlb無法在圖表中使用中文。方法1 用某種中文字型替換掉matplotlib的預設字型 這屬於一種破壞性質的方法,不推薦。這樣的方法,同樣的 無法在不同的環境中使用,每次更換環境你必須得重新 hack 一次。方法2 使用matplotlib的字型管理器指定字型檔案 matp...

linux 新增中文字型

linux 安裝中文字型 1,檢視是否安裝中文字型 fc list lang zh 2,複製windows中文字庫案到linux usr share fonts目錄下 修改字尾為.ttf 使mkfontscale和mkfontdir命令正常執行 3,建立字型索引資訊,更新字型快取 若未安裝 yum ...