电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

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

瀏覽:138日期: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
相關文章:
主站蜘蛛池模板: 制丸机,小型中药制丸机,全自动制丸机价格-甘肃恒跃制药设备有限公司 | jrs高清nba(无插件)直播-jrs直播低调看直播-jrs直播nba-jrs直播 上海地磅秤|电子地上衡|防爆地磅_上海地磅秤厂家–越衡称重 | 微信聊天记录恢复_手机短信删除怎么恢复_通讯录恢复软件下载-快易数据恢复 | PE拉伸缠绕膜,拉伸缠绕膜厂家,纳米缠绕膜-山东凯祥包装 | 洗石机-移动滚筒式,振动,螺旋,洗矿机-青州冠诚重工机械有限公司 | 槽钢冲孔机,槽钢三面冲,带钢冲孔机-山东兴田阳光智能装备股份有限公司 | 成都办公室装修-办公室设计-写字楼装修设计-厂房装修-四川和信建筑装饰工程有限公司 | 药品/药物稳定性试验考察箱-埃里森仪器设备(上海)有限公司 | 防水试验机_防水测试设备_防水试验装置_淋雨试验箱-广州岳信试验设备有限公司 | 圆形振动筛_圆筛_旋振筛_三次元振动筛-河南新乡德诚生产厂家 | 高铝矾土熟料_细粉_骨料_消失模_铸造用铝矾土_铝酸钙粉—嵩峰厂家 | NBA直播_NBA直播免费观看直播在线_NBA直播免费高清无插件在线观看-24直播网 | 合肥注册公司|合肥代办营业执照、2024注册公司流程 | 上海办公室装修_上海店铺装修公司_厂房装潢设计_办公室装修 | 定量包装机,颗粒定量包装机,粉剂定量包装机,背封颗粒包装机,定量灌装机-上海铸衡电子科技有限公司 | 变色龙云 - 打包app_原生app_在线制作平台_短链接_ip查询 | 比亚迪叉车-比亚迪电动叉车堆垛车托盘车仓储叉车价格多少钱报价 磁力去毛刺机_去毛刺磁力抛光机_磁力光饰机_磁力滚抛机_精密金属零件去毛刺机厂家-冠古科技 | 天津市能谱科技有限公司-专业的红外光谱仪_红外测油仪_紫外测油仪_红外制样附件_傅里叶红外光谱技术生产服务厂商 | 上海刑事律师|刑事辩护律师|专业刑事犯罪辩护律师免费咨询-[尤辰荣]金牌上海刑事律师团队 | 热处理温控箱,热处理控制箱厂家-吴江市兴达电热设备厂 | 螺钉式热电偶_便携式温度传感器_压簧式热电偶|无锡联泰仪表有限公司|首页 | 蓝莓施肥机,智能施肥机,自动施肥机,水肥一体化项目,水肥一体机厂家,小型施肥机,圣大节水,滴灌施工方案,山东圣大节水科技有限公司官网17864474793 | 低温等离子清洗机(双气路进口)-嘉润万丰 | 净化工程_无尘车间_无尘车间装修-广州科凌净化工程有限公司 | 苹果售后维修点查询,苹果iPhone授权售后维修服务中心 – 修果网 拼装地板,悬浮地板厂家,悬浮式拼装运动地板-石家庄博超地板科技有限公司 | 单柱拉力机-橡胶冲片机-哑铃裁刀-江都轩宇试验机械厂 | 南汇8424西瓜_南汇玉菇甜瓜-南汇水蜜桃价格| 车牌识别道闸_停车场收费系统_人脸识别考勤机_速通门闸机_充电桩厂家_中全清茂官网 | 武汉森源蓝天环境科技工程有限公司-为环境污染治理提供协同解决方案 | 造价工程师网,考试时间查询,报名入口信息-网站首页 | 家德利门业,家居安全门,别墅大门 - 安徽家德利门业有限公司 | 环球电气之家-中国专业电气电子产品行业服务网站! | 蒸汽吸附分析仪-进口水分活度仪|康宝百科 | 恒湿机_除湿加湿一体机_恒湿净化消毒一体机厂家-杭州英腾电器有限公司 | 集装箱标准养护室-集装箱移动式养护室-广州璟业试验仪器有限公司 | 雷蒙磨,雷蒙磨粉机,雷蒙磨机 - 巩义市大峪沟高峰机械厂 | 深圳标识制作公司-标识标牌厂家-深圳广告标识制作-玟璟广告-深圳市玟璟广告有限公司 | 东莞工厂厂房装修_无尘车间施工_钢结构工程安装-广东集景建筑装饰设计工程有限公司 | 胃口福饺子加盟官网_新鲜现包饺子云吞加盟 - 【胃口福唯一官网】 | 汽车整车综合环境舱_军标砂尘_盐雾试验室试验箱-无锡苏南试验设备有限公司 | 国产液相色谱仪-超高效液相色谱仪厂家-上海伍丰科学仪器有限公司 |