Django自定义过滤器

时间:2016-03-16 06:00:32

标签: python django django-filter

我是django的新用户,我从管理员插入了纯文本,我希望用户自定义过滤器将纯文本换成新行。我无法在浏览器中看到过滤器的更改

templatetags / filter.py

register = template.Library()

@register.filter(name='replace_linebr')
def replace_linebr(value):

    return str(value).replace('
','   ')

以下过滤器有效,但我认为替换无法正常工作

from urllib import quote_plus

register = template.Library()

@register.filter(name='replace_linebr')
def replace_linebr(value):

    return quote_plus(value)

我的模板

{% extends 'base.html' %}
{% load staticfiles %}
{% load filters %}

{% block blog_post %}
    <div class="blog-post">

        <p class="blog-post-title">{{ posts.title }}</p>
        <p class="blog-post-meta"><i class="fa fa-clock-o">&nbsp {{ posts.pub_date|date  }}</i> </p>
        {{ posts.description|replace_linebr }}

    </div><!-- /.blog-post -->
{% endblock %}

我的文件夹结构

enter image description here

settings.py enter image description here

感谢任何帮助。提前致谢

1 个答案:

答案 0 :(得分:1)

blog中添加INSTALLED_APPS,它应该有效。

更新

你有拼写错误,你的python文件是filter.py,你正在模板中{% load filters %}

{% load filters %}应为{% load filter %}