關於Django中文設定的一些簡單問題

2021-08-25 18:56:36 字數 1474 閱讀 2583

關於django中文設定的一些簡單問題

from:

posted on august 4, 2010 and tagged as django.

我在學django時因為讀的都是官方文件和英文部落格, 沒遇到中文的問題, 後來開始寫第乙個中文**時就碰到了語言問題. 其實不難, 但也花時間試了幾次才解決的. 寫在這兒給自己提個醒, 初學者看了也省些時間.

終極解決之道

python源**

檔案的儲存方式

html template

database

sqlite

postgresql

mysql

settings.py

終極解決之道

使用utf-8編碼

不要糾纏於gb2312, gb18030之類的問題, 徒增煩惱.

python源**

如果要在python源**中寫中文注釋或變數內容裡出現中文的話, 需要在python檔案的第一行進行宣告, 加下這面這行**:

# -*- coding: utf-8 -*-

我接觸python是從1.x開始, 真正用是從2.x. 從python3.0開始string才是真正的unicode. 而在python2.x中如果出現非ascii字元就必須加上utf-8的宣告.

檔案的儲存方式

無論你是用ultraedit, notepad+還是其它文字編輯器, 都要將檔案編碼設定為unicode. 例如我用vim, 相應的, 我在.vimrc裡也加上了一行

set encoding=utf-8

這樣我就不用操心源**中的中文問題了.

html template

在html template中任何地方都可以直接寫中文而不會出任何問題. 為了正確顯示中文, 在head要加上一行

我發現charset用gb2312和utf-8會影響瀏覽器顯示各個單元的間距. 如果轉換以前的網頁, 就要多加點小心看看有什麼地方要修改間距. 這是個苦活, 沒法寫test. 所以我很尊重前端設計師和測試人員. 這活兒我做不來, 會哭的.

database

sqlite

很簡單, 用manage.py syncdb直接生成就行了

postgresql

sudo -u postgres createdb -e utf8 database_name

mysql

create database database_name default character set utf8;

settings.py

在官方文件裡並沒有明確寫明簡體中文的代號是什麼, 我看locale裡生成的目錄名是zh_cn, 我就跟著用了. 而且好象在ver 0.96裡還管用. 到了ver 1.x裡就不靈了. 後來才發現應該是

language_code = 'zh-cn'

在 'startproject' 生成的預設settings.py裡, 提到在這裡有列表

我沒去看過, 也沒機會用到其它語種.

關於Ubuntu的一些設定

切換ubuntu為控制台登陸.sudo chmod w etc default grub sudo gedit etc default grub 方法1.grub terminal console 上面一行注釋去掉 方法2.grub cmdline linux default quiet splas...

關於TableView Cell的一些設定

tableview 的 separatorstyle 設定是否有線 風格 一 設定cell底部線 的位置 自定義cell內 self.separatorinset uiedgeinsetszero if self respondstoselector selector setlayoutmargin...

關於iOS Tabbar的一些設定

其實ios tabbar的可定製性非常高,我們沒有必要重複造輪子,下面是筆者收集的一些tabbar的常用設定,希望對大家有所幫助。設定tabbar選中顏色 ios7設定如下 self tabbarcontroller.tabbar setselectedimagetintcolor uicolorg...