Python django.template.defaultfilters 模块,striptags() 实例源码

我们从Python开源项目中,提取了以下9个代码示例,用于说明如何使用django.template.defaultfilters.striptags()

项目:tunga-api    作者:tunga-io    | 项目源码 | 文件源码
def convert_to_text(body):
    """
    Create plain text from html
    :param body:
    :return:
    """
    if not body:
        return body
    txt_body = re.sub(r'(<br\s*/\s*>|<\s*/\s*(?:div|p)>)', '\\1\n', body, flags=re.IGNORECASE)
    txt_body = striptags(txt_body)  # Striptags
    txt_body = re.sub(r'&nbsp;', ' ', txt_body, flags=re.IGNORECASE)  # Replace &nbsp; with space
    txt_body = re.sub(r' {2,}', ' ', txt_body, flags=re.IGNORECASE)  # Squash all multi spaces
    txt_body = re.sub(r'\r\n', '\n', txt_body, flags=re.IGNORECASE)  # single new line format
    txt_body = re.sub(r'\t', '\n', txt_body, flags=re.IGNORECASE)  # Remove indents
    txt_body = re.sub(r'\n( )+', '\n', txt_body, flags=re.IGNORECASE)  # Remove indents
    txt_body = re.sub(r'\n{3,}', '\n\n', txt_body, flags=re.IGNORECASE)  # Limit consecutive new lines to a max of 2
    return txt_body
项目:simplemooc    作者:paulopinda    | 项目源码 | 文件源码
def send_mail_template(
        subject, template_name, context, recipient_list,
        from_email=settings.DEFAULT_FROM_EMAIL, fail_silently=False):
    """Method sendmail with template html"""

    message_html = render_to_string(template_name, context)
    message_txt = striptags(message_html)

    email = EmailMultiAlternatives(
        subject=subject, body=message_txt, from_email=from_email,
        to=recipient_list
    )
    email.attach_alternative(message_html, "text/html")
    email.send(fail_silently=fail_silently)
项目:prestashop-sync    作者:dragoon    | 项目源码 | 文件源码
def _get_word_count(self):
        """Stupid word counter for an article."""

        return len(striptags(self.rendered_content).split(' '))
项目:django_textformat    作者:team23    | 项目源码 | 文件源码
def striptags(value):
    from django.template.defaultfilters import striptags
    return striptags(value)
项目:django-icekit    作者:ic-labs    | 项目源码 | 文件源码
def extract_text(self):
        # return the rendered content, with HTML tags stripped.
        html = render_content_items(
            request=None, items=self.contentitem_set.all())
        return striptags(html)
项目:securethenews    作者:freedomofpress    | 项目源码 | 文件源码
def preview(self):
        """Returns the first sentence of the post, with HTML tags
        stripped, for use as a preview blurb."""
        body_text = striptags(' '.join([
            child.value.source for child in self.body
            if child.block_type == 'rich_text'
        ]))
        sentences = body_text.split('.')
        return '.'.join(sentences[:1]) + '.'
项目:mes    作者:osess    | 项目源码 | 文件源码
def item_title(self, notification):
        return striptags(notification.message)
项目:tn2    作者:hsoft    | 项目源码 | 文件源码
def get_excerpt(self):
        return truncatewords(
            embed_videos(
                html.unescape(striptags(self.content)),
                strip=True
            ),
            55
        )
项目:website    作者:hackerspace-ntnu    | 项目源码 | 文件源码
def get_content_snippet(content, keyword, max_words=30):
    """
    Takes some text. Removes html tags and newlines from it.
    If keyword in this text - returns a short text snippet
    with keyword wrapped into strong tag and max_words // 2 before and after it.
    If no keyword - return text[:max_words].
    """

    def clean_text(content):
        """
        Removes tags, newlines and spaces from content.
        Return array of words.
        """

        # remove html tags
        content = striptags(content)
        # remove newlines
        content = content.replace("\n", " ").split(" ")

        return list(filter(lambda x: x != "", content))

    max_words = int(max_words)

    pattern = re.compile(
        r'(?P<before>.*)%s(?P<after>.*)' % re.escape(keyword),
        re.MULTILINE | re.IGNORECASE | re.DOTALL
    )

    match = pattern.search(content)

    if match:
        words = clean_text(match.group("before"))
        before_words = words[-max_words // 2:]
        words = clean_text(match.group("after"))

        after = " ".join(words[:max_words - len(before_words)])
        before = " ".join(before_words)

        html = "%s %s %s" % (before, striptags(keyword), after)

        kw_p = re.compile(r'(%s)' % keyword, re.IGNORECASE)
        html = kw_p.sub(r"<strong>\1</strong>", html)

        return mark_safe(html)

    return " ".join(clean_text(content)[:max_words])