我正在探索Django並且遇到了這個問題。Django:我該如何加入
如何在{{article.content_html|safe}}
內加入<span class="label">Note:</span>
?
{{article.content_html|safe}}
的內容是段落,我只是想在第一段加上<span class="label">Note:</span>
。
謝謝!
我正在探索Django並且遇到了這個問題。Django:我該如何加入
如何在{{article.content_html|safe}}
內加入<span class="label">Note:</span>
?
{{article.content_html|safe}}
的內容是段落,我只是想在第一段加上<span class="label">Note:</span>
。
謝謝!
有沒有簡單的方法。您可以輕鬆地預先添加到所有文章。
<span class="label">Note:</span>
{{article.content_html|safe}}
如果不幫你考慮改變article.content_html的結構,這樣你就可以從Django模板塊操作,所以它應該是這個樣子
{{article.content_header}}
<span class="label">Note:</span>
{{article.content_html}}
如果該解決方案對你來說不可行,你絕對需要解析和修改article.content_html的內容,編寫你自己的自定義過濾器。您可以在這裏找到有關編寫自定義過濾器的文檔http://docs.djangoproject.com/en/dev/howto/custom-template-tags/#writing-custom-template-filters。
另一種方法可以是用javascript來做到這一點。在jQuery中,它看起來是這樣的:
var first_p_text = $("p:first").text()
$("p:first").html("<span class="label">Note:</span>" + first_p_text)
注意的是,如果有你的第一個P,$(「P:第一」)內的其他元素。文本()將抓住從這些以及文本 - 看到http://api.jquery.com/text/
當然,這依賴於在客戶端體面的JavaScript支持。
jQuery是最簡單和最容易實現的。你只需要與前置通話(documentation)一行:
$('p:first').prepend('<span class="label">Note:</span>');
說明:'號碼:第一個'類似於一個jQuery selector':第一,孩子CSS selector。它將選擇第一段,然後預撥電話將把跨度插入到所選段落中。
注:如果你的內容之前,頁面上的段落,你可以有一個div來圍繞着它:
<div id='ilovesmybbq'>{{article.content_html|safe}}</div>
然後jQuery的電話是:
$('#ilovesmybbq p:first').prepend('<span class="label">Note:</span>');
愛如何用jQuery獲得答案。沒有什麼是免疫的 – jguffey 2014-03-28 19:53:24
謝謝伊萬! ;) – voidnothings 2010-05-18 13:42:11