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

首頁 > 編程 > Python > 正文

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

2019-11-25 17:10:46
字體:
來源:轉載
供稿:網友

對 current_datetime 的一次賦值操作:

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

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

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

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

在此,我們沒有像之前那樣手工指定 context 字典,而是傳入了 locals() 的值,它囊括了函數執行到該時間點時所定義的一切變量。 因此,我們將 now 變量重命名為 current_date ,因為那才是模板所預期的變量名稱。 在本例中, locals() 并沒有帶來多 大 的改進,但是如果有多個模板變量要界定而你又想偷懶,這種技術可以減少一些鍵盤輸入。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 左贡县| 焉耆| 梁河县| 赫章县| 于田县| 文安县| 朝阳市| 宜川县| 南雄市| 德格县| 化州市| 普兰县| 昌乐县| 神农架林区| 城固县| 宝清县| 周至县| 芒康县| 肃宁县| 垦利县| 灵璧县| 抚顺市| 张家港市| 满城县| 太原市| 体育| 托克逊县| 思南县| 二连浩特市| 东兴市| 桑植县| 江阴市| 肇东市| 湖北省| 合川市| 雅安市| 凉城县| 苏尼特右旗| 泸水县| 大埔县| 武安市|