Login
芋圆社区 > 编程 > Django > 过滤器linebreaksbr

过滤器linebreaksbr

391
0
2022-01-27
2022-10-13
Hey、小怪兽

  • • 拿社区的留言页面做例子,Django存入数据库后会把换行/n变成一个空格,其实并不是真的空格,只是换了一个方式储存
  • • 但是如果直接显示的话,页面还是会渲染成一个空格,这个时候看到网上说用linebreaks就可以解决

linebreaks


  • • 在我的HMTL页面加上过滤器linebreaks
  • <p class="ta-remainMessage-rowContent">{{ messages.text|linebreaks }}</p>
  • • 内容确实换行了,但是我原本这个元素是有样式的,margin-left什么的样式都没了
  • • 这个时候看一下渲染后的代码:
  • <p class="ta-remainMessage-rowContent"></p>
    <p>测试1111111<br>测试</p>
    <p></p>
  • • 这并不是我想要的结果,虽然换行了,但是并没有添加在我有样式的p标签里,结尾还加了一个p标签
  • • 源代码:
  • @register.filter("linebreaks", is_safe=True, needs_autoescape=True)
    @stringfilter
    def linebreaks_filter(value, autoescape=True):
        """
        Replace line breaks in plain text with appropriate HTML; a single
        newline becomes an HTML line break (``<br>``) and a new line
        followed by a blank line becomes a paragraph break (``</p>``).
        """
        autoescape = autoescape and not isinstance(value, SafeData)
        return mark_safe(linebreaks(value, autoescape))
  • • 不过在这个方法下面还看到了过滤器linebreaksbr的方法

linebreaksbr


  • • 源代码:
  • @register.filter(is_safe=True, needs_autoescape=True)
    @stringfilter
    def linebreaksbr(value, autoescape=True):
        """
        Convert all newlines in a piece of plain text to HTML line breaks
        (``<br>``).
        """
        autoescape = autoescape and not isinstance(value, SafeData)
        value = normalize_newlines(value)
        if autoescape:
            value = escape(value)
        return mark_safe(value.replace('\n', '<br>'))
  • • 将一段纯文本中的所有换行符转换为 HTML 换行符(``<br>``),注释这样写的
  • • 用了一下果然样式回来了,并且也换行了
  • • HTML代码:
  • <p class="ta-remainMessage-rowContent">{{ messages.text|linebreaksbr }}</p>
  • • 渲染后:
  • <p class="ta-remainMessage-rowContent">测试1111111<br>测试</p>

上一篇:values和values_list

下一篇:拆分views文件

Comment

Message Board

编程导航

Django使用Less

美化后台管理Admin

FBV 和 CBV

SimpleUI后台导航栏报错

Django多条件查询

标签属性使用变量引发的BUG

auto_now=True引发的问题

图片上传后大小问题

Django版本查看和升级

values和values_list

过滤器linebreaksbr

拆分views文件

AutoField报错

order_by多条件和随机排序

Django变量名的坑

Copyright © 2020 芋圆社区

Powered by 浙ICP备2020039309号-1

此页面不支持夜间模式!

已进入夜间模式!

已进入普通模式!

搜索框不允许为空

签到成功!经验+5!芋圆币+2!

签到失败!今日已签到!

需要登录社区账号才可以进入!

复制成功
寄,页面未加载完成或页面无锚点