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作为字典的键在模板中获取对应的值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了

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

  1. Django 模板中使用css, javascript

    Django 模板中使用css, javascript (r'^css/(?Ppath.*)$', 'django.views.static.serve', {'document_root': '/v ...

  2. php 模板 自定义函数调用,thinkphp模板中使用自定义函数

    注意:自定义函数要放在项目应用目录/common/common.php中. 这里是关键. 模板变量的函数调用格式:{$varname|function1|function2=arg1,arg2,### ...

  3. Django 模板中使用 Ajax POST

    Django 模板中使用 Ajax POST 解决 Forbidden (CSRF token missing or incorrect.) 报错的解决方案 在以Django作为后端的项目开发中,前端 ...

  4. C++模板学习02(类模板)(类模板语法、类模板与函数模板的区别、类模板中的成员函数创建时机、类模板对象做函数参数、类模板与继承、类模板成员函数类外实现、类模板分文件编写、类模板与友元)

    C++引用详情(引用的基本语法,注意事项,做函数的参数以及引用的本质,常量引用) 函数高级C++(函数的默认参数,函数的占位参数,函数重载的基本语法以及注意事项) C++类和对象-封装(属性和行为作为 ...

  5. smarty中使用php函数,在smarty模板中使用PHP函数的方法

    在smarty模板中使用PHP函数的方法 发布于 2014-11-23 22:57:51 | 174 次阅读 | 评论: 0 | 来源: 网友投递 Smarty模板引擎Smarty是一个使用PHP写出 ...

  6. c语言使用指针在被调函数中改变主调函数的变量 地址运算符 间接运算符

    1.指针 用于存储变量的地址 指针是一个值为内存地址的变量. 2.&运算符(地址运算符) &后跟一个变量名,给出变量的地址 &a,表示变量a的地址 3.*运算符(间接运算符/解 ...

  7. C语言中利用Swap函数交换变量a,b

    C语言中利用Swap函数交换变量a,b 常见错误写法 error1 void Sawp_error1(int a,int b) {int tmp;tmp=a;a=b;b=tmp; } int main ...

  8. ffmpeg php 快速播放,怎么在PHP中利用FFmpeg函数对视频播放的时长进行获取

    怎么在PHP中利用FFmpeg函数对视频播放的时长进行获取 发布时间:2020-12-18 16:02:20 来源:亿速云 阅读:96 作者:Leah 这篇文章给大家介绍怎么在PHP中利用FFmpeg ...

  9. Django 模板中 变量 过滤器 标签 的使用方法

    一.变量 1.变量的形式是:{{variable}}, 当模板引擎碰到变量的时候,引擎使用变量的值代替变量.     2.使用dot(.)能够访问变量的属性     3.当模板引擎碰到dot的时候,查 ...

最新文章

  1. hive无法执行带where语句的SQL
  2. ​Android中如何使用Intent在Activity之间传递对象[使用Serializable或者Parcelable]
  3. 用按键精灵自动消除行号失败记
  4. Numpy-矩阵的合并
  5. Android中AutoCompleteTextView的特殊使用方法
  6. socket阻塞与非阻塞,同步与异步
  7. 4.5Python数据处理篇之Matplotlib系列(五)---plt.pie()饼状图
  8. web安全之信息收集
  9. 【牛腩新闻发布系统】一步步演化的SQLHelper
  10. 暴风雨前的耳聋:普京在9·11前两天致电布什,警告可能发生恐袭
  11. 2016年银行业专业人员初级资格考试《个人理财》考试大纲
  12. 【GreenDao学习笔记】SQLite数据库保存float/double小数类型精度丢失
  13. 如何自己编写一个交通仿真软件 (开篇) 走火入魔。
  14. 个人千元奖励!华秋PCB多层板设计挑战赛等您参与
  15. android 点击返回键home键,appium怎么按下系统按键?如按下返回键、home键等等
  16. 前端 100 问:你会多少?
  17. matlab啁啾信号,用matlab来理解短脉冲中啁啾和色散的思想。.doc
  18. 微信小程序定义和调用全局变量globalData
  19. 安卓耗电监控app_拍照成罪魁祸首 十大安卓耗电App排行公布
  20. springboot配置sql日志打印

热门文章

  1. mongo的php查询,使用PHP进行简单查询的mongo查询速度慢
  2. 单列表_使用Excel中的quot;记录单quot;功能快速录入数据
  3. kafka 异常:ERROR Failed to clean up log for __consumer_offsets-30 in dir /tmp/kafka-logs due to IOExce
  4. tornado学习笔记day01-高并发性能web框架
  5. Java笔记11-【异常、线程】
  6. python之虚拟环境
  7. python 魔术方法
  8. python深入_Python深入(上)
  9. 字节数组转换为图片_每日一课 | Python 3 TypeError:无法将“字节”对象隐式转换为str...
  10. 中班机器人上课视频_家委会:出班费买智能扫地机器人,不用家长搞卫生了,莫名其妙...