访问 Jinja2 中的宏观上下文

2024-03-06

我想访问上下文函数内 jinja2 宏命名空间中的变量。假设我的宏看起来像:

{% macro show_var(a) %}
  {{ show_var_context_function("a") }}
{% endmacro %}

我的上下文函数如下所示:

@contextfunction
def show_var_context_function(context, var_name_string):
  return context[var_name_string]

现在我认为上下文应该可以访问a...这应该存储在我认为的上下文中,但是上面的代码将在a上引发NameError,说它没有在上下文中定义。我想知道这是否是因为上下文应该是模板的上下文而不是宏?

无论如何,有什么方法可以访问宏的上下文吗?


听起来您正在尝试从宏命名空间内访问全局 Jinja 上下文。为此,您必须“通过上下文”将宏导入到每个模板中。

{% from "_macros.html" import my_macro with context %}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

访问 Jinja2 中的宏观上下文 的相关文章

  • 无法在 PIL 中对 16 位 TIF 应用图像滤镜

    我尝试使用 python 应用图像过滤器PIL http www pythonware com products pil 代码很简单 im Image open fnImage im im filter ImageFilter BLUR 此
  • 默认情况下在 Jupyter 笔记本中配置第一个单元

    有没有办法为 Jupyter 笔记本中的特定 python 内核配置默认的第一个单元 我同意默认的 python 导入违背了良好的编码实践 那么 我可以配置笔记本 使新的 python 笔记本的第一个单元始终是 import numpy a
  • 计算温度的偏导数(温度的水平平流)

    我想知道哪种方法计算x和y方向温度的偏导数 温度的水平平流 最正确 第二个代码使用温度 纬向风和经向风的数据矩阵 提取温度 T 纬向风分量 u 和经向风分量 v 的数据 import matplotlib pyplot as plt imp
  • 肥皂服务的良好框架是什么?

    我正在寻找一个用于肥皂的好框架service 我更喜欢使用Pythonic框架 但是在查看了soaplib rpclib 太不稳定 SOAPy 不适用于2 7 和ZSI 太 令人困惑 之后 我不确定这是否可能 我对使用另一种语言感到满意 尽
  • 如何使用泛型类型的构造函数

    如何使用 python 泛型类型的构造函数 T typing TypeVar T class MyClass typing Generic T def init self initialValue typing Iterable self
  • 如何最好地将包含列表或元组的 Pandas 列提取到多个列中[重复]

    这个问题在这里已经有答案了 我不小心用错误重复的链接关闭了这个问题 这是正确的 Pandas 将列表的列拆分为多列 https stackoverflow com questions 35491274 pandas split column
  • 使用子图绘制 pandas 数据框 (subplots=True):放置图例并使用紧凑的布局

    我真的很喜欢 pandas 来处理和分析大数据集 到目前为止 我主要使用 matplotlib 进行绘图 但现在想使用 pandas 自己的绘图功能 基于 matplotlib 因为它需要更少的代码 并且在大多数情况下对我来说似乎足够了 尤
  • Python变量赋值问题

    a b 0 1 while b lt 50 print b a b b a b 输出 1 2 4 8 16 32 wheras a b 0 1 while b lt 50 print b a b b a b 输出 正确的斐波那契数列 1 1
  • 图像堆栈的最大强度投影

    我正在尝试重新创建该功能 max array 3 来自 MatLab 它可以获取 N 个图像的 300x300px 图像堆栈 我在这里说 图像 因为我正在处理图像 实际上这只是一个大的双数组 300x300xN 并创建一个 300x300
  • 将数据框列打包到 pandas 中列出

    我需要将 pandas DataFrame 列打包到包含列表的一列中 例子 For gt gt gt df a b c 0 81 88 1 1 42 7 23 2 8 37 63 3 18 22 20 制作列表栏 list col 0 81
  • 不重复的Python组合

    我有一个数字列表 我想从中进行组合 如果我有清单 t 2 2 2 2 4 c list itertools combinations t 4 结果是 2 2 2 2 2 2 2 4 2 2 2 4 2 2 2 4 2 2 2 4 但我想得到
  • 尝试修复我的功能

    我正在开发一个函数 我必须返回一个元组 其中第一个参数是最大数字的 str 第二个参数是 int 列表 这是示例以及我为该函数编写的内容 投票 G G N G C G 1 3 0 1 您必须将最大值的位置映射到正确的一方 parties N
  • 监控单个文件

    我需要监控 使用watchdog http pythonhosted org watchdog index html 单个文件 而不是整个目录 避免监视整个目录的最佳方法是什么 我想this http pythonhosted org wa
  • import numpy 和 import numpy as np 之间的区别

    我明白 如果可能的话 应该使用 import numpy as np 这有助于避免由于命名空间引起的任何冲突 但我注意到虽然下面的命令有效 import numpy f2py as myf2py 以下不 import numpy as np
  • 在Python中引用不带换行符的长字符串

    我正在尝试在 Python 中编写一个长字符串 该字符串显示为 OptParser 选项的帮助项 在我的源代码 py 文件中 我想放置换行符 以便我的代码不会花费新行 但是 我不希望这些换行符影响代码运行时该字符串的显示方式 例如 我想写
  • 在 Django/python 中,如何将内存缓存设置为无限时间?

    cache set key value 9999999 但这并不是无限的时间 def get memcache timeout self timeout Memcached deals with long gt 30 days timeou
  • 仅对某些行的不同大小的两个 pandas 数据帧的列进行求和

    我有两个 pandas 数据框 如下所示 df1 n column1 0 5 0 0 0 1 6 0 0 0 2 7 0 0 0 3 8 0 0 0 4 9 0 0 0 5 10 0 0 0 df2 n column2 0 6 0 1 0
  • 安排 Asyncio 任务每 X 秒执行一次?

    我正在尝试创建一个 python 不和谐机器人 它将每隔 X 秒检查一次活跃会员 并根据会员的在线时间奖励积分 我正在使用 asyncio 来处理聊天命令 这一切都正常 我的问题是找到一种方法来安排每隔 X 秒异步检查一次活动成员 我已经阅
  • Networkx 中 Louvain 分区的可视化

    请帮助我更改 Louvain 聚类算法结果的可视化 我从网站上获取了代码https github com taynaud python louvain https github com taynaud python louvain我可以重写
  • 连接运算符 + 或 ,

    var1 abc var2 xyz print literal var1 var2 literalabcxyz print literal var1 var2 literal abc xyz 除了带有 的自动空格之外 两者有什么区别 哪个通

随机推荐

  • Jquery如何通过数组中的属性查找对象

    鉴于我有一系列 目的 对象 array of purpose objects var purposeObjects purpose daily purpose weekly purpose monthly 为了简单起见 我省略了其他属性 现
  • 如何使用 classList 获取 React 组件引用来更改其类?

    我已经创建了一个反应组件使用以下代码 在此我创建选项卡并添加类并将其引用存储在全局命名空间接口中以供进一步处理 var TabBody React createClass getInitialState function return cl
  • Metro 应用程序中的异步调用链接

    我对 Metro 开发很陌生 我只希望能够以一种可以理解的方式表达我的问题 实际上我正在将旧应用程序的一部分移植到 Metro 逻辑部分是一个单独的项目 便携式库 它应该服务于 1 旧的 WPF 应用程序和 2 新的 Metro 应用程序
  • Socket.IO确认发货

    在我深入研究代码之前 有人可以告诉我 Socket IO 中是否有任何可用于确认交付的文档吗 以下是我迄今为止收集到的信息 可以提供回调 以便在消息被确认时调用 有一种特殊模式 不稳定 不保证交付 有一个默认模式不是 易失性 的 这给我留下
  • JAVAFX 2.0 如何将滑块中的滑块图标更改为图像?

    我想将图标更改为我的图像 我浏览了 CSS 参考指南 但似乎找不到任何相关内容 有可能吗 无论是使用 CSS 还是通过主 JavaFX 脚本进行声明 都没有关系 看一下示例代码和图像 了解如何在此处呈现自定义滑块音频播放器 http fxe
  • jQuery:使用 carouFredSel 插件进行延迟加载

    我正在尝试对使用以下命令创建的轮播内的图像实现延迟加载卡鲁 弗莱德 塞尔 http caroufredsel dev7studios comjQuery 插件 您有什么建议或者您已经取得了类似的成就吗 默认情况下好像做不到 Stefano
  • Identity 2.0 无效登录尝试

    由于某种原因 我尚未发现 但在成功注册和激活后 我无法使用电子邮件地址登录 而是收到错误 无效登录尝试 由于 ASP NET Identity 2 0 通过使用电子邮件登录进行了改进 因此我修改了注册表单以实际存储真实的用户名 因为现有的注
  • 让 DLL 使用函数指针调用 exe 函数

    谁能告诉我我做错了什么 我正在尝试在不同的线程上运行自定义主程序 这是代码 exe主程序 include dll class h include
  • 为多个类生成单个 WSDL 文件

    我们使用 自下而上 的方法来构建网络服务 我们有 10 个 Java 类 希望将其公开为 Web 服务 我们怎样才能为这些类只创建一个 WSDL 文件呢 java2wsdl实用程序及其 Ant 任务仅使用一个类作为生成 WSDL 文件的参数
  • 为什么 RelayCommands 通常使用延迟初始化?

    当使用约什 史密斯的中继命令 http msdn microsoft com en us magazine dd419663 aspx id0090051 我见过的大多数示例都使用延迟初始化 例如 public class ViewMode
  • defaultdict 的嵌套 defaultdict

    有没有办法使 defaultdict 也成为 defaultdict 的默认值 即无限级递归defaultdict 我希望能够做到 x defaultdict stuff x 0 1 0 所以 我可以做x defaultdict defau
  • Shadow DOM 是否像 React.js 中的 Virtual DOM 一样快?

    在我的项目中实现 Shadow DOM 是否会让它们像 React 使用的虚拟 DOM 一样更快 它们是用于不同目的的不同事物 因此比较性能没有意义 虚拟DOM 虚拟 DOM 旨在避免对 DOM 进行不必要的更改 这种更改在性能方面代价高昂
  • 如何在Python中解决递归关系

    我正在尝试编写代码来给出递归关系的数值答案 该关系本身很简单 定义如下 变量 x 是一个整数 p i p i 2 2 p i 1 2 如果 i gt 0 且 i p 0 p 2 2 如果 i gt x 则 p i 1 这也在这段代码中 fr
  • 如何使用 NUnit 模拟属性?

    如何使用 NUnit 模拟属性 NOTE 我发现这个外围的嘲笑答案 https stackoverflow com questions 591174 how to mock the property which returns the li
  • 如何在 mongodb 中使用构面操作查找字段的不同值

    FilteredAccording 部分和categorizedBy 使用我在链接中提供的查询按预期工作 但我在 findDistinct 部分遇到问题 在 mongodb 中我有以下数据 id 10001 university SPYU
  • Jmeter JSR223 Sampler - 无法将数据写入 CSV 文件

    我正在使用 Jmeter v4 0 r1823414 根据这个答案 https stackoverflow com questions 50820389 unable to set incremental variable in jmete
  • 远程连接到 WebDev.WebServer.exe

    开发 ASP Net 网站 运行IE8 需要在IE6下测试网站 MultipleIE6 安装被 IE8 安装破坏 无法在文本框中输入 是的 我删除了缓存 是的 我重新注册了 dll 创建运行 IE6 的 VPC 无法连接到主机 WebDev
  • 如何防止结构体的默认构造函数被调用?

    有什么方法可以阻止调用结构体的默认构造函数吗 我的项目中有几个结构 其中一些结构在任何情况下都不能调用默认构造函数 这将导致我的代码中出现很多不需要的行为 PS 任何在编码时指示我某些特殊结构 无法使用默认构造函数实例化 被 错误 实例化的
  • finplot 作为布局中的小部件

    我正在尝试添加finplot https pypi org project finplot https pypi org project finplot 作为我的 UI 中布局之一的小部件 我创建了一个小部件finplot并将其添加到布局中
  • 访问 Jinja2 中的宏观上下文

    我想访问上下文函数内 jinja2 宏命名空间中的变量 假设我的宏看起来像 macro show var a show var context function a endmacro 我的上下文函数如下所示 contextfunction