最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在Django的模型和公用函數(shù)中使用惰性翻譯對(duì)象

 更新時(shí)間:2015年07月27日 16:15:25   投稿:goldensun  
這篇文章主要介紹了在Django的模型和公用函數(shù)中使用惰性翻譯對(duì)象,Django是豐富多彩的Python框架中人氣最高的一個(gè),需要的朋友可以參考下

在模型和公用函數(shù)中,使用ugettext_lazy()和ungettext_lazy()來(lái)標(biāo)記字符串是很普遍的操作。 當(dāng)你在你的代碼中其它地方使用這些對(duì)象時(shí),你應(yīng)當(dāng)確定你不會(huì)意外地轉(zhuǎn)換它們成一個(gè)字符串,因?yàn)樗鼈儜?yīng)被盡量晚地轉(zhuǎn)換(以便正確的地域生效) 這需要使用幾個(gè)幫助函數(shù)。
拼接字符串: string_concat()

標(biāo)準(zhǔn)Python字符串拼接(''.join([...]) ) 將不會(huì)工作在包括惰性翻譯對(duì)象的列表上。 作為替代,你可以使用django.utils.translation.string_concat(), 這個(gè)函數(shù)創(chuàng)建了一個(gè)惰性對(duì)象,其連接起它的內(nèi)容 并且 僅當(dāng)結(jié)果被包括在一個(gè)字符串中時(shí)轉(zhuǎn)換它們?yōu)樽址?。 例如:

from django.utils.translation import string_concat
# ...
name = ugettext_lazy(u'John Lennon')
instrument = ugettext_lazy(u'guitar')
result = string_concat([name, ': ', instrument])

System Message: ERROR/3 (<string>, line 519)

Error in “cnid” directive: no content permitted.

.. cnid:: 109


  在這種情況下,當(dāng)

System Message: WARNING/2 (<string>, line 523)

Explicit markup ends without a blank line; unexpected unindent.

result 自己被用與一個(gè)字符串時(shí), result 中的惰性翻譯將僅被轉(zhuǎn)換為字符串(通常在模板渲染時(shí)間)。
allow_lazy() 修飾符

Django提供很多功能函數(shù)(如:取一個(gè)字符串作為他們的第一個(gè)參數(shù)并且對(duì)那個(gè)字符串做些什么)。(尤其在 django.utils 中) 這些函數(shù)被模板過(guò)濾器像在其他代碼中一樣直接使用。

如果你寫(xiě)你自己的類(lèi)似函數(shù)并且與翻譯打交道,當(dāng)?shù)谝粋€(gè)參數(shù)是惰性翻譯對(duì)象時(shí),你會(huì)面臨“做什么”的難題。 因?yàn)槟憧赡茉谝晥D之外使用這個(gè)函數(shù)(并且因此當(dāng)前線程的本地設(shè)置將會(huì)不正確),所以你不想立即轉(zhuǎn)換其為一個(gè)字符串。

象這種情況,請(qǐng)使用 django.utils.functional.allow_lazy() 修飾符。 它修改這個(gè)函數(shù)以便 假如第一個(gè)參數(shù)是一個(gè)惰性翻譯, 這個(gè)函數(shù)的賦值會(huì)被延后直到它需要被轉(zhuǎn)化為一個(gè)字符串為止。

例如:

from django.utils.functional import allow_lazy

def fancy_utility_function(s, ...):
  # Do some conversion on string 's'
  # ...
fancy_utility_function = allow_lazy(fancy_utility_function, unicode)

allow_lazy() 裝飾符 采用了另外的函數(shù)來(lái)裝飾,以及一定量的,原始函數(shù)可以返回的特定類(lèi)型的額外參數(shù) (*args ) 。 通常,在這里包括 unicode 就足夠了并且確定你的函數(shù)將僅返回Unicode字符串。

使用這個(gè)修飾符意味著你能寫(xiě)你的函數(shù)并且假設(shè)輸入是合適的字符串,然后在末尾添加對(duì)惰性翻譯對(duì)象的支持。

相關(guān)文章

  • Linux下使用python腳本執(zhí)行BCP導(dǎo)入導(dǎo)出方式

    Linux下使用python腳本執(zhí)行BCP導(dǎo)入導(dǎo)出方式

    這篇文章主要介紹了Linux下使用python腳本執(zhí)行BCP導(dǎo)入導(dǎo)出方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 在CMD窗口中調(diào)用python函數(shù)的實(shí)現(xiàn)

    在CMD窗口中調(diào)用python函數(shù)的實(shí)現(xiàn)

    本文主要介紹了在CMD窗口中調(diào)用python函數(shù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • python 實(shí)現(xiàn)提取PPT中所有的文字

    python 實(shí)現(xiàn)提取PPT中所有的文字

    這篇文章主要介紹了python 實(shí)現(xiàn)提取PPT中所有的文字,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • python如何爬取網(wǎng)站數(shù)據(jù)并進(jìn)行數(shù)據(jù)可視化

    python如何爬取網(wǎng)站數(shù)據(jù)并進(jìn)行數(shù)據(jù)可視化

    這篇文章主要介紹了python爬取拉勾網(wǎng)數(shù)據(jù)并進(jìn)行數(shù)據(jù)可視化,爬取拉勾網(wǎng)關(guān)于python職位相關(guān)的數(shù)據(jù)信息,并將爬取的數(shù)據(jù)已csv各式存入文件,然后對(duì)csv文件相關(guān)字段的數(shù)據(jù)進(jìn)行清洗,并對(duì)數(shù)據(jù)可視化展示,包括柱狀圖展示、直方圖展示,需要的朋友可以參考下
    2019-07-07
  • Python可以用來(lái)做什么

    Python可以用來(lái)做什么

    在本篇文章里小編給大家整理的是一篇關(guān)于解惑Python可以用來(lái)做什么的基礎(chǔ)文章,有興趣的朋友們可以學(xué)習(xí)下。
    2020-11-11
  • Python利用pyodbc庫(kù)將文件信息插入Access數(shù)據(jù)庫(kù)

    Python利用pyodbc庫(kù)將文件信息插入Access數(shù)據(jù)庫(kù)

    在日常編程工作中,我們經(jīng)常需要處理文件和文件夾,所以本文將介紹如何使用Python編程語(yǔ)言和wxPython庫(kù)創(chuàng)建一個(gè)簡(jiǎn)單的文件瀏覽器界面,使用戶能夠選擇文件夾并將文件信息插入到Access數(shù)據(jù)庫(kù)中,需要的可以參考下
    2023-08-08
  • 詳解python對(duì)象之間的交互

    詳解python對(duì)象之間的交互

    這篇文章主要介紹了詳解python對(duì)象之間的交互,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-09-09
  • Python 繪制可視化折線圖

    Python 繪制可視化折線圖

    這篇文章主要介紹了Python 繪制可視化折線圖的方法,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • Python利用Pillow(PIL)庫(kù)實(shí)現(xiàn)驗(yàn)證碼圖片的全過(guò)程

    Python利用Pillow(PIL)庫(kù)實(shí)現(xiàn)驗(yàn)證碼圖片的全過(guò)程

    這篇文章主要給大家介紹了關(guān)于Python利用Pillow(PIL)庫(kù)實(shí)現(xiàn)驗(yàn)證碼圖片的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • python中l(wèi)xml.etree 和 ElementTree 的區(qū)別解析

    python中l(wèi)xml.etree 和 ElementTree 的區(qū)別解析

    lxml.etree 提供了更多的功能,例如 XPath、XSLT、Relax NG、 和 XML 模式支持,etree 對(duì) Python unicode 字符串的想法與 ElementTree 不同,本文給大家介紹python中l(wèi)xml.etree 和 ElementTree 的區(qū)別,感興趣的朋友一起看看吧
    2024-01-01

最新評(píng)論

岳阳县| 丁青县| 灵山县| 雅安市| 石屏县| 安化县| 绥阳县| 且末县| 津市市| 右玉县| 商洛市| 舟山市| 萍乡市| 长武县| 巴楚县| 天柱县| 东乡族自治县| 隆子县| 礼泉县| 威海市| 屯留县| 双牌县| 林口县| 富民县| 抚远县| 瓦房店市| 西贡区| 泊头市| 夏邑县| 全州县| 庆安县| 玉山县| 德安县| 汤原县| 黄骅市| 惠来县| 韩城市| 齐河县| 福清市| 岳池县| 连南|