擅长:python、mysql、java
<p>首先让我说@DNS的答案是正确的,为什么没有显示空格。</p>
<p>考虑到这一点,这个模板过滤器将用<code>&nbsp;</code>替换字符串中的任何空格</p>
<p>用法:</p>
<pre><code>{{ "hey there world"|spacify }}
</code></pre>
<p>输出将是<code>hey&nbsp;there&nbsp;&nbsp;world</code></p>
<p>代码如下:</p>
<pre><code>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)
</code></pre>
<p>有关模板过滤器如何工作以及如何安装它们的说明,<a href="http://docs.djangoproject.com/en/dev/howto/custom-template-tags/#code-layout" rel="noreferrer">check out the docs</a>。</p>