簡體   English   中英

在 Jinja2 中禁用自動轉義后重新啟用自動轉義

[英]Re-enable autoescape after it has been disabled in Jinja2

我正在使用 Flask 和 Jinja2 寫一個簡單的博客,我想在我的帖子中使用 HTML 標簽。
所以我在我的模板中禁用了自動轉義,如下所示:

{{ post.body|safe }}

但是當我寫類似>>> print()it's ,但是我不想自己轉義它們,我想再次啟用自動轉義 有沒有像 HTML 標簽那樣的東西來做到這一點?

好吧,如果你想在你的post.body使用 HTML - 那么你必須處理一些符號必須在 HTML 中轉義的事實,例如>應該是&gt; . 第二個選項是使用<pre> 第三個選項是對正文進行后處理,以便自動轉義>>>類的代碼部分。 例如:

class Post:
    body = "<span><code>>>> print('Hello world')</code></span>"

    @property
    def html_body(self):
        # 1. Locate all <code>...</code> blocks
        # 2. Convert the text in them to proper HTML
        ...
        return processed_body

    # which should return 
    # "<span><code>&gt;&gt;&gt; print(&apos;Hello world&apos;)</code></span>"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM