国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

Django中使用locals()函數(shù)的技巧

2020-01-04 18:03:37
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

這篇文章主要介紹了Django中使用locals()函數(shù)的技巧,Django是Python重多高人氣框架中最為著名的一個(gè),需要的朋友可以參考下

對(duì) current_datetime 的一次賦值操作:

 

 
  1. def current_datetime(request): 
  2. now = datetime.datetime.now() 
  3. return render_to_response('current_datetime.html', {'current_date': now}) 

很多時(shí)候,就像在這個(gè)范例中那樣,你發(fā)現(xiàn)自己一直在計(jì)算某個(gè)變量,保存結(jié)果到變量中(比如前面代碼中的 now ),然后將這些變量發(fā)送給模板。 尤其喜歡偷懶的程序員應(yīng)該注意到了,不斷地為臨時(shí)變量和臨時(shí)模板命名有那么一點(diǎn)點(diǎn)多余。 不僅多余,而且需要額外的輸入。

如果你是個(gè)喜歡偷懶的程序員并想讓代碼看起來(lái)更加簡(jiǎn)明,可以利用 Python 的內(nèi)建函數(shù) locals() 。它返回的字典對(duì)所有局部變量的名稱與值進(jìn)行映射。 因此,前面的視圖可以重寫成下面這個(gè)樣子:

 

 
  1. def current_datetime(request): 
  2. current_date = datetime.datetime.now() 
  3. return render_to_response('current_datetime.html', locals()) 

在此,我們沒有像之前那樣手工指定 context 字典,而是傳入了 locals() 的值,它囊括了函數(shù)執(zhí)行到該時(shí)間點(diǎn)時(shí)所定義的一切變量。 因此,我們將 now 變量重命名為 current_date ,因?yàn)槟遣攀悄0逅A(yù)期的變量名稱。 在本例中, locals() 并沒有帶來(lái)多 大 的改進(jìn),但是如果有多個(gè)模板變量要界定而你又想偷懶,這種技術(shù)可以減少一些鍵盤輸入。

使用 locals() 時(shí)要注意是它將包括 所有 的局部變量,它們可能比你想讓模板訪問(wèn)的要多。 在前例中, locals() 還包含了 request 。對(duì)此如何取舍取決你的應(yīng)用程序。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 甘洛县| 阳新县| 广水市| 色达县| 澳门| 驻马店市| 容城县| 汤原县| 齐齐哈尔市| 营口市| 大足县| 永吉县| 姚安县| 天长市| 增城市| 宝兴县| 唐山市| 沛县| 枣强县| 长岭县| 新巴尔虎右旗| 兰坪| 延长县| 梅州市| 胶州市| 东光县| 香港 | 涟源市| 百色市| 崇仁县| 甘肃省| 板桥市| 新丰县| 斗六市| 荔浦县| 台南县| 永登县| 雷山县| 湾仔区| 报价| 防城港市|