2015-03-31 87 views
-3

我使用django-summernote編輯器來創建文本和圖像的文章,這些文章和圖像以字符字段的形式保存爲HTML標籤。「Read More」for Django所見即所得編輯器

我想添加一個閱讀更多功能,其中顯示所有帖子的大小有限的預覽。一個想法可能是截斷字符字段,但如果它們碰巧位於邊界之間,則可能會導致截斷HTML圖像標記。

如何解決這個問題?

+0

心靈解釋downvotes的原因? – Tanay 2015-03-31 10:37:04

+0

詢問意見或建議不是本網站的目的;您需要提出具有客觀的最佳答案的特定編程問題。祝你好運:) – 2015-03-31 10:45:50

+0

我並不是在尋求建議,而是在尋找一種方法來解決我的問題。 – Tanay 2015-03-31 11:32:06

回答

2

Django中有你可以用它來確保你的HTML沒有得到畸形兩個模板過濾器:truncatechars_htmltruncatewords_html

模板過濾只是功能,這樣你就可以在任何地方導入它們在您的Python代碼需要和分配結果到一個變量,你可以在其他地方使用等

例子:

from django.template.defaultfilters import truncatechars_html 

html = """<p>Look, I&#8217;m some HTML. You can truncate me 
     with Django template filters</p>""" 
truncated_value = truncatechars_html(html, 30) 
0

,我遲到了這個晚會,但這個職位在搜索結果中出現了。我自己用自定義模板過濾器得到了一個工作解決方案。這使得你可以像WordPress一樣逐個放棄。這裏是我做了什麼(從this post幫助和Django docs):

<p>Here is some sample text</p> 
<!--more--> 
<img src="cool_photo.jpg" /> 
在templatetags/read_more.py

from django import template 
from django.template.defaultfilters import stringfilter 

register = template.Library() 

@register.filter(name='read_more') 
@stringfilter 
def read_more(value): 
    pattern = "<!--more-->" 
    return value.split(pattern, 1)[0] 

在這模板

:在一個文本框提交

樣品後呈現截斷版本:

{% load read_more %} 
{{ object.body|read_more|safe }} 

由於分割模式是一個HTML評論有沒有必要削減它從主體帖子模板:

{{ object.body|safe }}