“Read More”for Django所见即所得编辑器

问题描述:

我使用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

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) 

,我迟到了这个晚会,但这个职位在搜索结果中出现了。我自己用自定义模板过滤器得到了一个工作解决方案。这使得你可以像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 }}