是否有可能让Jinja2忽略模板中包含{}的部分(例如,内联javascript)

Zac*_*aro 8 python jinja2

我通过复制/粘贴他们在网站上提供的代码,在我的页面上添加了一个facebook按钮.

它看起来像这样:

"http://www.facebook.com/dialog/feed?app_id={{fbapp_id}}&link={{link_url}}&message={{share_message|urlencode}}&display=popup&redirect_uri={{link_url}}  
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,它{}在那里Jinja找到了.但是,由于我不想让任何上述代码替换为任何东西,我可以在模板中添加一些东西来告诉Jinja忽略分隔符之间的所有内容吗?

Python处理程序:

class MainHandler(webapp2.RequestHandler):
    def get(self):
        template = JINJA_ENV.get_template('index.html')
        self.response.write(template.render(None))
Run Code Online (Sandbox Code Playgroud)

Pau*_*ida 25

您通常可以在文档中的"转义"或类似内容中找到该信息.在这种情况下,您可以使用变量表达式输出分隔符:

{{ '{{' }}
Run Code Online (Sandbox Code Playgroud)

或者您可以使用raw块,以获得更长的代码段:

{% raw %}
    <ul>
    {% for item in seq %}
        <li>{{ item }}</li>
    {% endfor %}
    </ul>
{% endraw %}
Run Code Online (Sandbox Code Playgroud)