python - Django 模板剥离空格?

标签 python django django-templates

我在使用 Django 模板和 CharField 模型时遇到问题。

所以我有一个带有 CharField 的模型,它创建一个 slug,用下划线替换空格。如果我创建一个对象 Somename Somesurname,这将创建 slug Somename_Somesurname 并按预期显示在模板上。

然而,如果我创建一个对象,Somename Somesurname(注意第二个空格),slug Somename__Somesurname 被创建,尽管在 Django 控制台上我看到它是 <Object: Somename Somesurname> ,在模板上显示为 Somename Somesurname

那么 Django 模板会以某种方式去除空格吗?有没有我可以用来获取名称及其空格的过滤器?

最佳答案

让我先说@DNS 关于为什么没有显示空格的回答是正确的。

考虑到这一点,此模板过滤器将用  

替换字符串中的所有空格

用法:

{{ "hey there  world"|spacify }}

输出将是 hey there  world

代码如下:

from django.template import Library
from django.template.defaultfilters import stringfilter
from django.utils.html import conditional_escape
from django.utils.safestring import mark_safe
import re

register = Library()

@stringfilter
def spacify(value, autoescape=None):
    if autoescape:
    esc = conditional_escape
    else:
    esc = lambda x: x
    return mark_safe(re.sub('\s', '&'+'nbsp;', esc(value)))
spacify.needs_autoescape = True
register.filter(spacify)

有关模板过滤器如何工作以及如何安装它们的说明,check out the docs .

关于python - Django 模板剥离空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/721035/

相关文章:

python - 尝试在 djangoFramework 项目上运行 python manage.py migrate 但收到错误

ajax - 在ajax的div.append中的id属性中添加变量

Django 如何使用表单按钮传递 url 参数?

python - 很好地将 .txt 文件转换为 .json 文件

python - 在 Python 的列表中查找子组中的公共(public)字符串

python - 如何在Django Form的clean()方法中获取auto_id?

django - Django REST Framework部分更新和验证

python - Django View 集没有属性 'get_extra_actions'

django - 如何在 Django 中将列表项插入数据库?

python - ValueError : No JSON object could be decoded, 但为正 <Response [200]>