Django模板中如何将函数的变量作为字典key并获取对应的value

Django模板中如何将函数的变量作为字典key并获取对应的value

问题
现有一字典

mydict = {'abc': 123}
key = 'abc'

传入到模板后
在模板html中你可能像下面这样,来取出字典的值

{% block base %}
...
{{ mydict[key] }}
...
{% endblock %}

但在模板中并不支持Python列表下标和切片的方法来获取元素

在一般情况下你可以这样获取一个字典的value:

{% block base %}
...
{{ mydict.key }}
...
{% endblock %}

然鹅,当这个key是一个某个函数的变量时,比如key是函数func()的变量var

def func():var = 'abc'

如何将func中的变量var的值abc作为字典的键在模板中获取对应的值123?

{% block base %}
...
{{ mydict.func.var }}
...
{% endblock %}

用以上方法获取属性无法得到想要的结果,会报错,提示字符无法解析

解决办法
在对应模板的视图中重写一个字典获取值的方法:

from django.template.defaulttags import register@register.filter
def get_item(dictionary, key):return dictionary.get(key)

在html中这样写:

{% block base %}
...
{{ mydict|get_item:func.var }}
...
{% endblock %}

然后就可将函数func中的变量var作为字典的键获取相应的值123了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/469617.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

智慧交通day03-车道线检测实现08: 在离线视频(非实时)中检测车道线+代码实现

学习目标 了解在视频中检测车道线的方法在前面几节中一步步完成摄像机标定、图像畸变校正、透视变换、提取车道线、检测车道线、计算曲率和偏离距离后,在图像上实现了复杂环境下的车道线检测算法。现在我们将视频转化为图片,然后一帧帧地对视频数据进行处…

gets函数

#include "stdio.h" /**/ void main() {char a[100];while(gets(a)!NULL){printf("Owen.wei%s\n",a);} // char *str1NULL;printf("hello w23232323orld2!\n"); }

智慧交通day03-车道线检测实现09:车道线检测代码汇总(Python3.8)

import cv2 import numpy as np import matplotlib.pyplot as plt #遍历文件夹 import glob from moviepy.editor import VideoFileClip"""参数设置""" nx 9 ny 6 #获取棋盘格数据 file_paths glob.glob("./camera_cal/calibration*.jpg…

Django 模板实现(动态)图片/头像展示到页面

Django 模板实现(动态)图片作头像展示到页面 在网上搜了加载图片到前端的解决方法,大多都比较复杂,要引用PIL,下载Cropper插件(可以用于裁图)之类的,下面是一个简单易懂的方法实现&…

CSDN编程挑战(交换字符)

如果字符串str3能够由str1和str2中的字符按顺序交替形成,那么称str3为str1和str2的交替字符串。例如str1"abc",str2"def",那么"adbecf", "abcdef", "abdecf", "abcdef", "…

Unknown encoder ‘libx264‘的解决方法

1、问题描述: 运行程序的时候出现了这个错误,Unknown encoder ‘libx264’,和ffmpeg库有关. MoviePy error: FFMPEG encountered the following error while writing file run1output_video.mp4: b”Unrecognized option ‘preset’.\nError splitting the argumen…

Django之验证码的实现,简单快捷的方法

Django之验证码的实现,简单快捷的方法 实现验证码随网页变动即时刷新,实现有期限时间 请确保安装好pillow 直接show code: 0、路由urs.py from django.urls import path, re_path from . import views urlpatterns [re_path(r^test/$, vie…

5 Django系列之通过list_display展示多对多与外键内容在admin-web界面下

list_display展示多对多关系的内容 表结构关系 表一 class Server(models.Model):asset models.OneToOneField(Asset)created_by_choices ((auto,Auto),(manual,Manual),)created_by models.CharField(choicescreated_by_choices,max_length32,defaultauto) #auto: auto cre…

智慧交通day04-特定目标车辆追踪01:总览概述

项目介绍: 运动目标跟踪一直以来都是一项具有挑战性的工作, 也是研究的热点方向. 现阶段, 随着硬件设施 的不断完善和人工智能技术的快速发展, 运动目标跟踪技术越来越重要. 目标跟踪在现实生活中有很 多应用, 包括交通视频监控、运动员比赛分析、智能人机交互 、跟…

Python3之字典生成器结合lambda实现按key/value排序

Python3之字典生成器结合lambda实现按key/value排序 1、先介绍不常见的字典按value排序: dict1 {"g": 2, "f": 1, "a": 6} print(dict1.values()) d1 sorted(dict1.items(), keylambda d: d[1], reverseTrue) # 按字典values倒…

XCode8 App上传AppStore更新

1.在这个网站中https://itunesconnect.apple.com 点击“我的APP” 选取需要更新的app 2.点击加号 版本或平台,填写对应的更新版本 3.配置Xcode项目 1 》注意 上图的 套装ID 就是项目中的 Bundle Identity 必须要一模一样 并且不能修改 》配置相同的Bundle Identity…

智慧交通day04-特定目标车辆追踪02:Siamese网络+单样本学习

1.Siamese网络 Siamese network就是“连体的神经网络”,神经网络的“连体”是通过共享权值来实现的,如下图所示。共享权值意味着两边的网络权重矩阵一模一样,甚至可以是同一个网络。 如果左右两边不共享权值,而是两个不同的神经网…

学习网站(不断更新)

一个师兄给我的在线可编译的网站: http://www.fenby.com/user/me Linux最新内核代码: http://www.kernel.org/如果是拿来学习研究的 Linux早期版本内核代码(简单易学): http://www.oldlinux.org/index_cn.html LDD3例子这个家伙写得非常不错 http://blog.csdn.net/liuhaoy…

CSS如何实现两个a标签元素的文字一个靠左一个靠右,并且能点击分别不同的链接

CSS如何实现两个a标签元素的文字一个靠左一个靠右,并且能点击分别不同的链接 作为一个非专业前端,有时候开发又必须自己写一些简单的前端,在网上有时候不能及时查找到内容,只能自己尝试,如下是实现两个span中的a标签下…

智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-SiamFC(2016)

目标追踪任务是指在一个视频中给出第一帧图像的bbox的位置,在后续的帧中追踪该物体的任务。 目标追踪不同于目标检测的是: 1、需要给出首帧的标定框。 2、只需要给出标定框,后续的搜索范围往往在上一帧图像的附近。 孪生网络是使用深度学习…

word-break|overflow-wrap|word-wrap——CSS英文断句浅析

---恢复内容开始--- word-break|overflow-wrap|word-wrap——CSS英文断句浅析 一 问题引入 今天在再次学习 overflow 属性的时候,查看效果时,看到如下结果,内容在 div 中国换行了,可是两个 P 元素的内容并没有换行,搜索…

linux内核定时器编程

1.linux内核定时器基本结构和函数 1&#xff09;struct timer_list 一个struct timer_list对应了一个定时器。 #include <linux/timer.h> 以下列出常用的接口&#xff1a; struct timer_list{/*....*/unsigned long expires;//定时器服务函数开始执行时间void (*func…

django ModuleNotFoundError: No module named 'tinymce***'

django ModuleNotFoundError: No module named ‘***’ 1、检查对应的模块是否有安装&#xff0c;可以使用pip list查看 没有安装请执行安装 python -m pip install *** (--user)&#xff0c;某些电脑user没有权限需要加上括号中的 2、如果有安装 请检查python的django配置安…

度量时间差和jiffies计数器

HZ 1、内核通过定时器中断来跟踪时间流 2、时钟中断由系统定时硬件以周期性的间隔产生&#xff0c;这个间隔由内核根据HZ的值设定&#xff0c;HZ是一个与体系结构有关的常数&#xff0c;定义在<linux/param.h>或者该 文件包含的某个子平台相关的文件中。 jiffies 1、…

智慧交通day04-特定目标车辆追踪03:siamese在目标跟踪中的应用-SiamRPN(2017)

3.2 SiamRPN(2017) 3.2.1 网络结构 Siam-RPN提出了一种基于RPN的孪生网络结构&#xff0c;由孪生子网络和RPN网络组成&#xff0c;前者用来提取特征&#xff0c;后者用来产生候选区域。其中&#xff0c;RPN子网络由两个分支组成&#xff0c;一个是用来区分目标和背景的分类分…