簡體   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