第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何用 django 渲染 html?

如何用 django 渲染 html?

嗨,我正在練習(xí) Django 和 Python我遇到了解析 HTML 問題,我通過管理頁面保存了一些 html,我嘗試渲染,但它渲染為字符串!這是我模板的一部分描述 <- 列是我的問題其他列渲染得很好{% block content %}<div class="article-detail">    <div class="article">        <img src="{{ article.thumb.url }}" />        <h2>{{ article.title }}</h2>        <p>{{ article.date }}</p>        <div>{{ article.description }}        </div>    </div></div>{% endblock %}這是我的模型from tinymce import HTMLFieldclass Article(models.Model):    title = models.CharField(max_length=100)    slug = models.SlugField()    body = models.TextField()    description = HTMLField('Content', blank=True)    body = models.TextField()    date = models.DateTimeField(auto_now_add=True)    thumb = models.ImageField(default='default.png', blank=True)    ...我的這部分觀點def article_detail(request, slug):    article = Article.objects.get(slug=slug)    return render(request, 'articles/article_detail.html', {'article': article})我嘗試使用 javascript{% block content %}<div class="article-detail">    <div class="article">        <img src="{{ article.thumb.url }}" />        <h2>{{ article.title }}</h2>        <p>{{ article.date }}</p>    </div></div><script>    var article = "<div>{{ article.description }}</div>"    console.log(article);    document.write(article);</script>{% endblock %}我希望這項工作,但我得到了 JS 語法錯誤控制臺不顯示任何東西為什么?如果它轉(zhuǎn)換為字符串,它應(yīng)該可以工作....什么是最好的渲染方式?我為我糟糕的英語感到抱歉
查看完整描述

4 回答

?
胡子哥哥

TA貢獻1825條經(jīng)驗 獲得超6個贊

Django 的模板引擎會自動轉(zhuǎn)義,所以你真的不需要轉(zhuǎn)義。

如果你像 {{article.description|safe}} 這樣添加模板過濾器“安全”,那么你確實需要擔心諸如 html 注入之類的事情,因為“安全”將字符串標記為這樣,這意味著它不會被轉(zhuǎn)義。

還有一個 {% autoescape on %}...{% endautoescape %} 模板標簽,如果需要,可以將其中的“on”更改為“off”。默認情況下它是打開的,并且不需要標簽。

其他模板引擎可能默認不會轉(zhuǎn)義,Jinja2 就是其中之一。


查看完整回答
反對 回復(fù) 2022-10-13
?
飲歌長嘯

TA貢獻1951條經(jīng)驗 獲得超3個贊

默認情況下,Django 自動轉(zhuǎn)義模板變量的輸出以避免跨站點腳本。如果要呈現(xiàn)未轉(zhuǎn)義的字符串,則可以使用safe過濾器或模板塊autoescape,如下所示:


{{ var|safe }}

或者


{% autoescape off %}

    {{ var }}

{% endautoescape %}


查看完整回答
反對 回復(fù) 2022-10-13
?
慕容森

TA貢獻1853條經(jīng)驗 獲得超18個贊

將安全過濾器添加到您的 html 模板 var。Django 自動轉(zhuǎn)義 html 以防止 html 注入。您可以通過添加 |safe 來“關(guān)閉它”。例如:

<div> {{ article.description|safe }} </div>


查看完整回答
反對 回復(fù) 2022-10-13
?
翻翻過去那場雪

TA貢獻2065條經(jīng)驗 獲得超14個贊

Django 模板處理器正在轉(zhuǎn)義模型中的 HTML 語法。我認為您需要包含此標頭標記才能使您的 tinyMCE 應(yīng)用程序正常工作。它是一些可能呈現(xiàn) HTMLField 的 javascript 代碼。


<head>

    ...

    {{ form.media }}

</head>


查看完整回答
反對 回復(fù) 2022-10-13
  • 4 回答
  • 0 關(guān)注
  • 187 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號