我刚开始使用Jinja2,并且尝试在文档中插入当前日期作为底线,以告诉用户文档是何时生成的。
我目前的解决方案是
Produced on {{ utils.today|date('%x') }}没有错误消息,但没有生成任何内容。
解决方案只需要是Jinja2,因为我没有运行python进程-使用Ginger (一个Haskell程序)来处理模板。
因此,首先,我对编程相当陌生,对Jinja2也很陌生。所以我使用python和GAE来做服务器端的事情。我基本上是从web上获取一些数据,然后对其进行解析,并将其显示在网页上。为了正确显示它,我使用jinja2遍历了不同的元素。
{% for new in news %}
<div>{{new}}</div>
<button id = "button"></button>
<div id ="description"> {{new.description}}</div>
{%for feed,tim in feeds,time %}
{% set nickname = feed.nick %}
{% set like = feed.like %}
{% set text = feed.text %}
{% set today = tim %}
{% set postid = feed.postid %}
<script>
function myFunction() {
var name = "some_string";
var display = "{{ python_function(name) }}";
alert(display);
}
</script>
上面的Javascript是写在jinja2模板。它应该在宏中将javascript变量(即var名称)值传递给python函数。我知道上面的代码不会解决我
我想用jinja2来编写我自己的静态页面生成器。我希望在特定块中以编程方式呈现某些内容。我试过这个:
import jinja2
a = "adam"
b = "bob"
template = jinja2.Template(u"{{ A }} {% block b %}{% endblock %}")
html = template.render({'A': a, 'B': b})
print(html)
但是返回以下输出:adam。如何在b块中呈现一些文本和/或变量(例如变量b)。
我试图从从CSV文件创建的python中呈现一个jinja2模板,但是jinja2对这个dict持不同态度,我不明白为什么。
这是模板:
{% for key, value in hostname.iteritems() %}
interface {{ key }}
description {{ value }}
{% endfor %}
这是python代码:
import csv
from pprint import pprint
import os
import jinja2
CSVDATA_FILENAME = 'port_descriptions.csv'
TEM
我想在我的网页中选择一个元素(HTML选择元素)进行动态过滤。
我的第一个列表已经设置好了,我想要更改第二个列表(HTML select元素)的内容,而不是第一个选择。
但要做到这一点,我需要使用jinja2中的document.getElementByid ( javascript )的结果作为一个动态变量,如下所示:
document.getElementById('select02').innerHTML =
"{% for i in context.get(document.getElementById('select02').value) %
我有一个用来打印ec2实例IP地址的jinja2模板(带标签的region: au):
{% for host in groups['tag_region_au'] %}
我的问题是,我无法解决如何只包含存在于一个组中而不存在于另一个组中的主机(然而,每个主机可能在两个或更多组中),例如在python中,以下工作:
( (a in list) and ( a not in list2) )
但是,以下内容并不适用:
{% for (host in groups['tag_region_au']) and (host not in groups['tag_