亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

詳解Django中views數據查詢使用locals()函數進行優化

瀏覽:116日期:2024-09-23 10:00:36

優化場景

利用視圖函數(views)查詢數據之后可以通過上下文context、字典、列表等方式將數據傳遞給HTML模板,由template引擎接收數據并完成解析。但是通過context傳遞數據可能就存在在不同的視圖函數中使用重復的查詢語句,所以可以通過將重復查詢語句設置全局變量,配合locals()函數進行數據查詢與傳遞。

優化前

def index(request): threatname = ’威脅情報展示’ url = ’www.testtip.com’ allthreat = Threat.objects.all() #推薦位的威脅情報 rec = Threat.objects.filter(rec__id=1)[:3] #情報標簽 threat_tags = Tag.objects.all() #將上述數據封裝至上下文中 context = { ’threatname’: threatname, ’url’: url, ’allthreat’: allthreat, ’rec’:rec, ’threat_tags’:threat_tags, } #通過render傳遞上下文至模板templates return render(request,’index.html’,context)def threatshow(request,tid): allthreat = Threat.objects.all() #推薦位的威脅情報 rec = Threat.objects.filter(rec__id=1)[:3] #情報標簽 threat_tags = Tag.objects.all() # 熱門情報數據 hot_threat = Threat.objects.filter(hot__id=x)[:6] #將sitename&url&allarticle封裝至上下文中 context = { ’allthreat’: allthreat, ’rec’:rec, ’threat_tags’:threat_tags, ’hot_threat’:hot_threat, } return render(request, ’threatshow.html’,context)

上面可以看到 views 里面有 index() 和 threatshow() 兩個視圖函數,在這兩個視圖函數中有三個相同的數據查詢語句:

allthreat = Threat.objects.all() #推薦位的威脅情報 rec = Threat.objects.filter(rec__id=1)[:3] #情報標簽 threat_tags = Tag.objects.all()

優化后

設置全局變量

# 全局定義常用查詢數據參數def global_variable(request): allthreat = Threat.objects.all() #推薦位的威脅情報 rec = Threat.objects.filter(rec__id=1)[:3] #情報標簽 threat_tags = Tag.objects.all() return locals()views 中定義上述全局變量后,通過locals()函數優化如下:def index(request): threatname = ’威脅情報展示’ url = ’www.testtip.com’ #通過render傳遞上下文至模板templates return render(request,’index.html’,locals())def threatshow(request,tid): # 熱門情報數據 hot_threat = Threat.objects.filter(hot__id=x)[:6] return render(request, ’threatshow.html’,locals())

Python 中的 locals() 函數會以字典類型返回當前位置的全部局部變量,也就是返回當前 index() 、 threatshow() 視圖函數中定義的局部數據查詢結果,加上全局變量當中已經完成了其他剩余數據查詢,所以在滿足數據查詢需求的基礎上完成了視圖函數優化。

到此這篇關于詳解Django中views數據查詢使用locals()函數進行優化的文章就介紹到這了,更多相關Django locals()優化內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Django
相關文章:
主站蜘蛛池模板: 风间由美理论片在线观看 | 午夜色a大片在线观看免费 午夜色图 | 无码精品日韩中文字幕 | 美女毛片免费 | 911精品国产91久久久久 | 国产酒店视频 | 久久99热精品免费观看无卡顿 | 天天综合网天天综合色 | 一级一片在线播放在线观看 | 日韩日日日 | 日韩精品免费一区二区 | 国产在线观看91精品2022 | 免费国产成人午夜在线观看 | 国产伦精品一区二区三区视频金莲 | 日韩中文字幕在线观看视频 | 国产成人高清在线观看播放 | 欧美成人h版影片在线观看 欧美成人h版影院在线播放 | 亚洲欧美日韩中文字幕久久 | 成人精品美女隐私漫画 | 亚洲天天在线日亚洲洲精 | 黄色a级免费网站 | 特黄录像| 色婷婷中文字幕 | 亚洲欧美在线看 | 欧美三级中文字幕 | 免费人成网站在线高清 | 521色香蕉网在线观看免费 | 国产成人综合亚洲 | 久久草在线观看 | 1024免费永久福利视频 | 黄色免费网址在线观看 | 国产成人香蕉在线视频fuz | 欧美区国产区 | 亚洲欧美人成人让影院 | 丰满的日本护士xxx 丰满美女福利视频在线播放 | 亚洲免费国产 | 成人亚洲欧美综合 | 国产精品v欧美精品v日本精 | 国产精品免费一区二区三区四区 | 亚洲精品亚洲人成在线麻豆 | 91一区二区三区四区五区 |