欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2015年07月16日 12:12:00   投稿:goldensun  
這篇文章主要介紹了Django中使用locals()函數(shù)的技巧,Django是Python重多高人氣框架中最為著名的一個(gè),需要的朋友可以參考下

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

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

def current_datetime(request):
  current_date = datetime.datetime.now()
  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() 并沒有帶來多 大 的改進(jìn),但是如果有多個(gè)模板變量要界定而你又想偷懶,這種技術(shù)可以減少一些鍵盤輸入。

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

相關(guān)文章

  • Python lambda匿名函數(shù)深入講解

    Python lambda匿名函數(shù)深入講解

    lambda所表示的匿名函數(shù)的內(nèi)容應(yīng)該是很簡單的,如果復(fù)雜的話,干脆就重新定義一個(gè)函數(shù)了,使用lambda就有點(diǎn)過于執(zhí)拗了。lambda就是用來定義一個(gè)匿名函數(shù)的,如果還要給他綁定一個(gè)名字的話,就會(huì)顯得有點(diǎn)畫蛇添足,通常是直接使用lambda函數(shù)
    2023-01-01
  • Python集合中remove()函數(shù)的使用方法詳解

    Python集合中remove()函數(shù)的使用方法詳解

    這篇文章主要給大家介紹了關(guān)于python集合中remove()函數(shù)的使用,以及在使用Python集合的remove方法時(shí)應(yīng)注意的事項(xiàng),文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • python操作csv格式文件之csv.DictReader()方法

    python操作csv格式文件之csv.DictReader()方法

    這篇文章主要介紹了python操作csv格式文件之csv.DictReader()方法,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下
    2022-06-06
  • python開發(fā)之tkinter實(shí)現(xiàn)圖形隨鼠標(biāo)移動(dòng)的方法

    python開發(fā)之tkinter實(shí)現(xiàn)圖形隨鼠標(biāo)移動(dòng)的方法

    這篇文章主要介紹了python開發(fā)之tkinter實(shí)現(xiàn)圖形隨鼠標(biāo)移動(dòng)的方法,涉及Python基于tkinter繪圖的相關(guān)實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-11-11
  • Python實(shí)現(xiàn)向QQ群成員自動(dòng)發(fā)郵件的方法

    Python實(shí)現(xiàn)向QQ群成員自動(dòng)發(fā)郵件的方法

    這篇文章主要介紹了Python實(shí)現(xiàn)向QQ群成員自動(dòng)發(fā)郵件的方法,通過讀取txt文本里的QQ成員數(shù)據(jù)再調(diào)用發(fā)送郵件函數(shù)實(shí)現(xiàn)該功能,是非常實(shí)用的技巧,需要的朋友可以參考下
    2014-11-11
  • 簡單了解Python下用于監(jiān)視文件系統(tǒng)的pyinotify包

    簡單了解Python下用于監(jiān)視文件系統(tǒng)的pyinotify包

    這篇文章主要介紹了Python下用于監(jiān)視文件系統(tǒng)的pyinotify包,pyinotify基于inotify事件驅(qū)動(dòng)機(jī)制,需要的朋友可以參考下
    2015-11-11
  • 解決Python requests 報(bào)錯(cuò)方法集錦

    解決Python requests 報(bào)錯(cuò)方法集錦

    這篇文章主要介紹了解決Python requests 報(bào)錯(cuò)方法集錦的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • 最新評(píng)論