一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語(yǔ)言編程技術(shù)及教程分享平臺(tái)!
分類(lèi)導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - Django中使用locals()函數(shù)的技巧

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

2020-07-23 10:53Python教程網(wǎng) Python

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

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

?
1
2
3
def current_datetime(request):
  now = datetime.datetime.now()
  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ì)所有局部變量的名稱(chēng)與值進(jìn)行映射。 因此,前面的視圖可以重寫(xiě)成下面這個(gè)樣子:

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

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本偷偷操 | 亚洲国产精品日韩高清秒播 | 97成网| 日本亚洲欧洲高清有码在线播放 | 国产精品久久久久久网站 | 强迫高h | 97se狠狠狠狠狼亚洲综合网 | 国产男人搡女人免费视频 | 果冻传媒天美传媒乌鸦传媒 | 日韩欧美精品一区二区 | piss美女厕所小便 | 亚洲黄色色图 | 天天亚洲综合 | 国产高清露脸学生在线观看 | 精品国产一区二区三区国产馆 | 国产成人免费片在线视频观看 | 日韩精品在线一区二区 | 亚洲精品一二区 | 青草青视频| 色屁屁www | japanese在线看| 国产在线观看福利 | 青青青国产精品国产精品久久久久 | 无码欧美喷潮福利XXXX | 扒开双腿羞辱调教play视频 | 欧美香蕉人人人人人人爱 | 欧美专区亚洲 | 免费一级国产大片 | 楚乔传第二部全60集免费观看 | 手机在线免费观看日本推理片 | 欧美高清日韩 | 国产亚洲精品精品国产亚洲综合 | 色婷婷精品 | 日本一本草久p | 久久国产36精品色熟妇 | 五月精品 | 91大神在线精品视频一区 | 久久久久久88色偷偷 | 别停好爽好深好大好舒服视频 | 久久九九久精品国产尤物 | 男男gaygays国内 |