jinja2 相关问题

Jinja2是Python的快速模板引擎。它具有完整的Unicode支持,自动转义,继承,宏和许多其他功能。

Jinja2 全局函数中的框架变量

我有一个全局功能测试 从 jinja2.utils 导入 contextfunction @上下文函数 def 测试(上下文): 上下文.get_all() 在我的测试中,我这样称呼它...... {% 设置 i = 0 %} {% 为...

回答 2 投票 0

在其他宏中声明 var 以便在 DBT 的不同宏中使用

主要思想是拥有一个常量变量,然后可以在代码的其他部分或 DBT 宏中使用它。 包含常量的宏示例: {% 宏constant_vars...

回答 2 投票 0

如何在Sphinx中加载外部JavaScript?

我正在从 sphinx-doc 扩展基本主题,我注意到基本主题 layout.html 脚本宏中有以下代码块 {%- 对于 script_files 中的脚本文件 %} <p>我正在从 <a href="http://www.sphinx-doc.org/en/stable/theming.html" rel="nofollow noreferrer">sphinx-doc</a> 扩展 <a href="http://www.sphinx-doc.org/" rel="nofollow noreferrer">basic</a> 主题,我注意到基本主题中的以下代码块 <pre><code>layout.html</code></pre> <pre><code>script</code></pre> 宏</p> <pre><code>{%- for scriptfile in script_files %} &lt;script type=&#34;text/javascript&#34; src=&#34;{{ pathto(scriptfile, 1) }}&#34;&gt;&lt;/script&gt; {%- endfor %} </code></pre> <p>这是否意味着我可以在我的<pre><code>html_theme_options</code></pre>中添加如下所示的<pre><code>theme.conf</code></pre>:</p> <pre><code>[options] script_files = </code></pre> <p>在我的<pre><code>conf.py</code></pre>内,我添加:</p> <pre><code>html_theme_options = {&#39;script_files&#39;: &#39;_static&#39;} </code></pre> <p>但是,使用此设置,构建完全混乱并产生垃圾页面,例如:</p> <pre><code>&lt;html xmlns=&#34;http://www.w3.org/1999/xhtml&#34;&gt; &lt;head&gt;...&lt;/head&gt; &lt;body&gt; --&gt; &lt;!-- my js code but is automatically commented out--&gt; &lt;/body&gt; &lt;/html&gt; </code></pre> <p>哪个部分出了问题?我应该怎么做才能加载我自己定制的 JavaScript?</p> </question> <answer tick="true" vote="6"> <p><pre><code>script_files</code></pre> 是模板内部变量。您不能通过 <pre><code>html_theme_options</code></pre> 设置它(所有主题变量都以 <pre><code>theme_</code></pre> 作为前缀,见下文)。</p> <p>Sphinx 文档在<a href="https://www.sphinx-doc.org/en/master/development/templating.html#script_files" rel="nofollow noreferrer">此处</a>解释了如何通过 <pre><code>script_files</code></pre> 变量直接在模板文件中添加其他脚本。</p> <p>如果您认为在 <pre><code>conf.py</code></pre> 中定义附加脚本很重要,请按以下步骤操作:</p> <ol> <li>将以下行添加到模板的 <pre><code>layout.html</code></pre>,例如在 <pre><code>endblock</code></pre> 定义的 <pre><code>DOCTYPE</code></pre> 下方:</li> </ol> <p><pre><code>{% set script_files = script_files + theme_extra_scripts %}</code></pre></p> <ol start="2"> <li>在<pre><code>extra_scripts</code></pre>中定义主题变量<pre><code>theme.conf</code></pre>及其默认值:</li> </ol> <p><pre><code>extra_scripts = []</code></pre></p> <ol start="3"> <li><p>覆盖<pre><code>conf.py</code></pre>中的变量:</p> <pre><code>html_theme_options = { &#39;extra_scripts&#39;: [&#39;_static/test.js&#39;] } </code></pre> </li> </ol> </answer> </body></html>

回答 0 投票 0

Ansible:将字典组合成特定的列表项,嵌套在字典中

我定义了一个主剧本,它通过 import_playbook 调用另一个准备剧本。 准备剧本返回 S3 存储库的凭据,var 称为“service_secrets&...

回答 1 投票 0

迭代返回给python的表单元素

我有一个表单,其中填充了用户可以删除的图像文件列表。创建表单后,Jinja 循环会迭代照片文件列表并提供图像预览...

回答 1 投票 0

带有 pywebview 的 Flask 找不到模板

我正在运行一个正常运行的 Flask 网站。 模板位于正确的位置 /templates 添加 python webview (https://pywebview.flowrl.com/) 时,例如: 应用程序=烧瓶(__名称__) webview.create_...

回答 1 投票 0

如何在 jinja2 模板中引用 sceptre/cloudformation 参数

我在我的权杖配置文件中定义了一个参数,我想在 Jinja2 条件块中引用该参数。 配置/codepipeline.yaml 模板: 路径:'codepipeline.yaml.j2' 参数: 我...

回答 1 投票 0

选择列表中属性*不*匹配正则表达式模式的项目

我有一个字典列表,例如: [ { "url": "bucket.amazonaws.com", "文件": "文件1.txt" }, { “url”:“github.com”...

回答 1 投票 0

如何使用jinja2/html将numpy.arr int转换为htlm

我可能对如何处理 numpy.arr int 表到 html/jinja2 有点困惑 在我的 python 应用程序中,我将变量设置为列联表 该表是原始的 contingency_table=np.zeros((6,6), dtype...

回答 1 投票 0

安装一个版本的jinja2模块,但Jupyter笔记本显示不同的版本

我正在尝试通过huggingface运行Llama 3.1 8b模型。完成所有步骤后我收到此错误 ImportError: apply_chat_template 需要安装 jinja2>=3.1.0。你的版本我...

回答 1 投票 0

如何在cookiecutter hooks中使用动态变量?

我想在 hooks/pre_gen_project.py 中使用动态变量。 当我在挂钩文件中添加静态文本时,它会起作用: {{ cookiecutter.update({"venv_path": "静态/venvpath&q...

回答 2 投票 0

在 Jinja2 中合并两个字典

我有一些代码,基本上是在一些 YAML 文件中搜索 Jinja2 变量并在适当的情况下替换它们。我希望能够将 YAML 字典组合在一起,并且正在寻找一种方法来实现

回答 4 投票 0

获取不同迭代的值 - Jinja2

我在 jinja 有这个模板: {% id_ip.results 中的值 %} { “标题”:“asd”, "rel":"阿达斯", “类型”:“应用程序/n...

回答 1 投票 0

为什么我无法使用 Jinja 变量保存数据集?

为什么我无法使用 Jinja 变量保存数据集? 我编辑了 superset_config.py: FEATURE_FLAGS = { “ALERT_REPORTS”:正确, “ENABLE_TEMPLATE_PROCESSING”:真 } 我可以...

回答 1 投票 0

如何使用 django/jinja 标签通过另一个 .js 文件中的 javascript 片段扩展 html

我正在开发一个 django 应用程序。 有一个文件 templates/index.html 文件,其页脚有一些 javascript 片段,例如 ... <p>我正在开发一个 django 应用程序。</p> <p>有一个文件 <pre><code>templates/index.html</code></pre> 文件的页脚有一些 javascript 片段,例如 </p> <pre><code>... &lt;/body&gt; &lt;/html&gt; &lt;script src=&#34;https://unpkg.com/<a href="/cdn-cgi/l/email-protection" data-cfemail="7b171e1a1d171e0f3b4a554c554a">[email protected]</a>/dist/leaflet.js&#34;&gt;&lt;/script&gt; &lt;!-- load jquery. I put this after leaflet --&gt; &lt;script src=&#34;https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js&#34;&gt;&lt;/script&gt; &lt;!-- import a library leaflet.browser.print from local folder lib placed in the staticfiles folder --&gt; &lt;script src=&#34;{% static &#39;./lib/leaflet.browser.print.min.js&#39; %}&#34;&gt;&lt;/script&gt; </code></pre> <p>还有一个文件<pre><code>templates/publish_layers_in_html_page.html</code></pre>,其中包含使用jinja标签的javascript片段,内容如下</p> <pre><code>&lt;script&gt; var overlayMaps = {}; // Shapefile wms {% for s in shp %} var {{ s.name }} = L.tileLayer.wms(&#39;http://localhost:8080/geoserver/wms&#39;, { layers: &#39;{{s.name}}&#39;, transparent: true, format: &#39;image/png&#39;, }) overlayMaps[&#39;{{ s.name }}&#39;] = {{ s.name }} {% endfor %} L.control.layers(baseMaps, overlayMaps, {collapsed: false, position: &#39;topleft&#39;}).addTo(map) &lt;/script&gt; </code></pre> <p>是否可以使用django标签<pre><code>{% extends %}</code></pre>将此javascript片段插入到<pre><code>index.html</code></pre>文件中?</p> <p>我尝试按如下方式更改这两个文件,但没有成功。</p> <h2>index.html</h2> <pre><code>... &lt;/body&gt; &lt;/html&gt; &lt;script src=&#34;https://unpkg.com/<a href="/cdn-cgi/l/email-protection" data-cfemail="fe929b9f98929b8abecfd0c9d0cf">[email protected]</a>/dist/leaflet.js&#34;&gt;&lt;/script&gt; &lt;!-- load jquery. I put this after leaflet --&gt; &lt;script src=&#34;https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js&#34;&gt;&lt;/script&gt; &lt;!-- import a library leaflet.browser.print from local folder lib placed in the staticfiles folder --&gt; &lt;script src=&#34;{% static &#39;./lib/leaflet.browser.print.min.js&#39; %}&#34;&gt;&lt;/script&gt; {% block scripts %}{% endblock %} </code></pre> <h2>publish_layers_in_html_page.html</h2> <pre><code> {% extends &#34;index.html&#34; %} {% block scripts %} &lt;script&gt; var overlayMaps = {}; // Shapefile wms {% for s in shp %} var {{ s.name }} = L.tileLayer.wms(&#39;http://localhost:8080/geoserver/wms&#39;, { layers: &#39;{{s.name}}&#39;, transparent: true, format: &#39;image/png&#39;, }) overlayMaps[&#39;{{ s.name }}&#39;] = {{ s.name }} {% endfor %} L.control.layers(baseMaps, overlayMaps, {collapsed: false, position: &#39;topleft&#39;}).addTo(map) &lt;/script&gt; {% endblock %} </code></pre> <p>我还测试过,如果我在 <pre><code>index.html</code></pre> 末尾插入 JavaScript 代码片段,代码将正确运行。</p> </question> <answer tick="false" vote="0"> <p>你正在做反向伸展。你想要的是<pre><code>publish_layers_in_html_page</code></pre>里面的<pre><code>index.html</code></pre>的js代码,但是你已经在<pre><code>index.html</code></pre>中包含了<pre><code>publish_layers_in_html_page</code></pre>。现在,当您执行此操作时,实际发生的是 <pre><code>publish_layers_in_html_page</code></pre> 模板可以访问 <pre><code>index.html</code></pre> 的代码,但反之则不然。</p> <p>更新代码:</p> <p>index.html:</p> <pre><code>{% extends &#34;publish_layers_in_html_page.html&#34; %} &lt;/body&gt; &lt;/html&gt; &lt;script src=&#34;https://unpkg.com/<a href="/cdn-cgi/l/email-protection" data-cfemail="bbd7dedaddd7decffb8a958c958a">[email protected]</a>/dist/leaflet.js&#34;&gt;&lt;/script&gt; &lt;!-- load jquery. I put this after leaflet --&gt; &lt;script src=&#34;https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js&#34;&gt;&lt;/script&gt; &lt;!-- import a library leaflet.browser.print from local folder lib placed in the staticfiles folder --&gt; &lt;script src=&#34;{% static &#39;./lib/leaflet.browser.print.min.js&#39; %}&#34;&gt;&lt;/script&gt; {% block scripts %}{% endblock %} </code></pre> <p>publish_layers_in_html_page.html:</p> <pre><code>{% block scripts %} &lt;script&gt; var overlayMaps = {}; // Shapefile wms {% for s in shp %} var {{ s.name }} = L.tileLayer.wms(&#39;http://localhost:8080/geoserver/wms&#39;, { layers: &#39;{{s.name}}&#39;, transparent: true, format: &#39;image/png&#39;, }) overlayMaps[&#39;{{ s.name }}&#39;] = {{ s.name }} {% endfor %} L.control.layers(baseMaps, overlayMaps, {collapsed: false, position: &#39;topleft&#39;}).addTo(map) &lt;/script&gt; {% endblock scripts %} </code></pre> </answer> </body></html>

回答 0 投票 0

Ansible中有没有办法将整数转换为MAC地址?

我有一个整数,我需要转换成MAC地址。我在 Ansible 中检查 hwaddr,但对我不起作用。请帮帮我。 我尝试了像 ipmath 和 hwaddr 这样的内置模块。什么也没发生...

回答 2 投票 0

DBT:如何将宏传递到模型配置中以在模型使用的物化中运行此宏?

我正在尝试将 dbt 宏传递到模型配置中,如下所示: {{ 配置( 自定义宏=我的宏 ) }} my_macro 在 /macros/my_macro.sql 中定义 然后我尝试在自定义材质中运行这个宏...

回答 1 投票 0

在 Ansible 中转义双花括号

如何在 Ansible 1.9.2 中转义双花括号? 例如,如何在以下 shell 命令中转义双花括号? - 名称:测试 shell: “docker 检查 --format '{{ .

回答 10 投票 0

Jinja2 - 如何根据 if else 条件为变量赋值?

我想在 Jinja2 中做一些非常简单的事情 - 如果 a>100 那么什么也不做让 b = 5。 这是我的尝试,但它不起作用: {% 如果 a|float>100 %} {% 别的 %} {%设置b=5%} {% 万一 %} 我...

回答 1 投票 0

TemplateSyntaxError 无法解析其余部分

我的 Django 模板中有一些 jinja2: {% 对于文件系统,total_quota,total_usage,totals_by_filesystem 中的 df_usage %} {{ 文件系统 }}...

回答 1 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.