繁体   English   中英

Django 自定义过滤器

[英]Django custom filter

我是 django 的新手,我从 admin 插入了一个纯文本,我想用户自定义过滤器将纯文本中的换行符替换为新行 我无法在浏览器中看到过滤器的变化

模板标签/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 %}

我的文件夹结构

在此处输入图片说明

设置.py 在此处输入图片说明

任何帮助表示赞赏。 提前致谢

INSTALLED_APPS添加blog ,它应该可以工作。

更新

你有错字,你的 python 文件是filter.py并且在模板中你正在做{% load filters %}

{% load filters %}应该是{% load filter %}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM