Ⅰ 如何解決關於Django下的中文字元出現問
客戶端編碼的問題。
讓客戶端傳過來的json串里的中文使用unicode
這樣就不會出現了
Ⅱ django 過濾器 什麼意思
關於django過濾器,
過濾器,變數的顯示形式的改變
一、形式:小寫
{{ name | lower }}
二、串聯:先轉義文本到HTML,再轉換每行到 <p> 標簽
{{ my_text|escape|linebreaks }}
三、過濾器的參數
顯示前30個字
{{ bio | truncatewords:"30" }}
格式化
{{ pub_date | date:"F j, Y" }}
過濾器列表
{{ 123|add:"5" }} 給value加上一個數值
{{ "AB'CD"|addslashes }} 單引號加上轉義號,一般用於輸出到javascript中
{{ "abcd"|capfirst }} 第一個字母大寫
{{ "abcd"|center:"50" }} 輸出指定長度的字元串,並把值對中
{{ "123spam456spam789"|cut:"spam" }} 查找刪除指定字元串
{{ value|date:"F j, Y" }} 格式化日期
{{ value|default:"(N/A)" }} 值不存在,使用指定值
{{ value|default_if_none:"(N/A)" }} 值是None,使用指定值
{{ 列表變數|dictsort:"數字" }} 排序從小到大
{{ 列表變數|dictsortreversed:"數字" }} 排序從大到小
{% if 92|divisibleby:"2" %} 判斷是否整除指定數字
{{ string|escape }} 轉換為html實體
{{ 21984124|filesizeformat }} 以1024為基數,計算最大值,保留1位小數,增加可讀性
{{ list|first }} 返回列表第一個元素
{{ "ik23hr&jqwh"|fix_ampersands }} &轉為&
{{ 13.414121241|floatformat }} 保留1位小數,可為負數,幾種形式
{{ 13.414121241|floatformat:"2" }} 保留2位小數
{{ 23456 |get_digit:"1" }} 從個位數開始截取指定位置的1個數字
{{ list|join:", " }} 用指定分隔符連接列表
{{ list|length }} 返回列表個數
{% if 列表|length_is:"3" %} 列表個數是否指定數值
{{ "ABCD"|linebreaks }} 用新行用<p> 、 <br /> 標記包裹
{{ "ABCD"|linebreaksbr }} 用新行用<br /> 標記包裹
{{ 變數|linenumbers }} 為變數中每一行加上行號
{{ "abcd"|ljust:"50" }} 把字元串在指定寬度中對左,其它用空格填充
{{ "ABCD"|lower }} 小寫
{% for i in "1abc1"|make_list %}ABCDE,{% endfor %} 把字元串或數字的字元個數作為一個列表
{{ "abcdefghijklmnopqrstuvwxyz"|phone2numeric }} 把字元轉為可以對應的數字??
{{ 列表或數字|pluralize }} 單詞的復數形式,如列表字元串個數大於1,返回s,否則返回空串
{{ 列表或數字|pluralize:"es" }} 指定es
{{ 列表或數字|pluralize:"y,ies" }} 指定ies替換為y
{{ object|pprint }} 顯示一個對象的值
{{ 列表|random }} 返回列表的隨機一項
{{ string|removetags:"br p div" }} 刪除字元串中指定html標記
{{ string|rjust:"50" }} 把字元串在指定寬度中對右,其它用空格填充
{{ 列表|slice:":2" }} 切片
{{ string|slugify }} 字元串中留下減號和下劃線,其它符號刪除,空格用減號替換
{{ 3|stringformat:"02i" }} 字元串格式,使用Python的字元串格式語法
{{ "E<A>A</A>B<C>C</C>D"|striptags }} 剝去[X]HTML語法標記
{{ 時間變數|time:"P" }} 日期的時間部分格式
{{ datetime|timesince }} 給定日期到現在過去了多少時間
{{ datetime|timesince:"other_datetime" }} 兩日期間過去了多少時間
{{ datetime|timeuntil }} 給定日期到現在過去了多少時間,與上面的區別在於2日期的前後位置。
{{ datetime|timeuntil:"other_datetime" }} 兩日期間過去了多少時間
{{ "abdsadf"|title }} 首字母大寫
{{ "A B C D E F"|truncatewords:"3" }} 截取指定個數的單詞
{{ "<a>1<a>1<a>1</a></a></a>22<a>1</a>"|truncatewords_html:"2" }} 截取指定個數的html標記,並補完整
<ul>{{ list|unordered_list }}</ul> 多重嵌套列表展現為html的無序列表
{{ string|upper }} 全部大寫
<a href="{{ link|urlencode }}">linkage</a> url編碼
{{ string|urlize }} 將URLs由純文本變為可點擊的鏈接。(沒有實驗成功)
{{ string|urlizetrunc:"30" }} 同上,多個截取字元數。(同樣沒有實驗成功)
{{ "B C D E F"|wordcount }} 單詞數
{{ "a b c d e f g h i j k"|wordwrap:"5" }} 每指定數量的字元就插入回車符
{{ boolean|yesno:"Yes,No,Perhaps" }} 對三種值的返回字元串,對應是 非空,空,None
Ⅲ Django過濾器truncateword和slice的區別
truncate會在後面加省略號,一般用於文本太長的省略。
slice是對列表,實際是數據截取版,一般用於數據做操作,當權然後面沒有.....
具體到你的truncateword,省略的是詞,和截取字元串差距很大。
Ⅳ 怎麼Django標簽過濾
1.創建一個模板庫
使用模板過濾器的時候,直接把過濾器寫在app里,
例如:在app里新建一個templatetags的文件夾,這個目錄應當和 models.py 、 views.py 等處於同一層次。例如:
books/
__init__.py
models.py
templatetags/
views.py
在 templatetags 中創建兩個空文件:一個 __init__.py (告訴Python這是一個包含了Python代碼的包)和一個用來存放你自定義的標簽/過濾器定義的文件。第二個文件的名字稍後將用來載入標簽。例如,如果你的自定義標簽/過濾器在一個叫作 poll_extras.py 的文件中,你需要在模板中寫入如下內容: {% load poll_extras %}
{% load %}標簽檢查 INSTALLED_APPS 中的設置,僅允許載入已安裝的Django應用程序中的模板庫。
要成為有效的標簽庫,模塊必須包含一個模塊級的變數: register ,這是一個 template.Library 的實例。這個 template.Library 實例是包含所有已注冊的標簽及過濾器的數據結構。因此,在模塊的頂部位置插入下述代碼:
fromdjangoimport template
register = template.Library()
Ⅳ django 中的XXX.objects.filter(..)中,為何使用漢字判別沒有效果啊
把您的錯誤代碼貼出來。
Ⅵ django目前最完整的中文文檔在哪裡可以看到
應該是沒有「官方」的中文文檔。曾經有過一些人翻譯django文檔,但由於django文檔詳盡且版本更新很快,翻譯速度甚至跟不上版本更新速度。於是最後幾乎都停留在某個版本不了了之。
所以,如果能看英語,還是建議讀django的官方文檔,我覺得寫得相對算簡潔的。對照著示例代碼看,基本能明白個大概意思,大段的英文文字其實讀不懂問題也不大。
中文文檔的話,有這幾個版本還算完整,從學習的角度來說也夠用:
Ⅶ 如何在 Django 的 URL 匹配中獲取中文參數
可以在模板裡面用 {%url url_name 參數%} 也可以在view redirect的時候使用。。。。有個便利,就是你url更改了,但是name不用改,其他用url_name的地方也不用改了
-
Ⅷ django中怎麼自定義過濾器
在某個app下創建一個名為templatetags(必需,且包名不可變)的包。假設我們在名為polls的app下創建了一個templatetags的包,並在該包下創建了一個名為mytags的文件。那麼目錄結構看起來應該就像這樣:
polls/
__init__.py
models.py
templatetags/
__init__.py
mytags.py
views.py
Ⅸ Django如何處理語言偏好(根據此可以設置中文)
在這些功能背後,Django擁有一個靈活的模型來確定在安裝和使用應用程序的過程中選擇使用的語言。
要設定一個安裝階段的語種偏好,請設定LANGUAGE_CODE。如果其他翻譯器沒有找到一個譯文,Django將使用
這個語種作為預設的翻譯最終嘗試。
如果你只是想要用本地語言來運行Django,並且該語言的語言文件存在,只需要簡單地設置 LANGUAGE_CODE 即可。
如果要讓每一個使用者各自指定語言偏好,就需要使用 LocaleMiddleware 。 LocaleMiddleware 使得Django基
於請求的數據進行語言選擇,從而為每一位用戶定製內容。 它為每一個用戶定製內容。
使用 LocaleMiddleware 需要在 MIDDLEWARE_CLASSES 設置中增加
'django.middleware.locale.LocaleMiddleware' 。 中間件的順序是有影響的,最好按照依照以下要求:
保證它是第一批安裝的中間件類。
因為 LocalMiddleware 要用到session數據,所以需要放在 SessionMiddleware 之後。