多年来我遇到了一个问题。
问题是一个长文本没有被div中的空格分隔。没有应用换行,它会破坏所有布局。
如何以良好的方式修复django?
这就是我所看到的:
答案 0 :(得分:7)
据我所知,这是HTML方面的问题,而不是django-side。对于HTML解决方案,请查看How to word wrap text in HTML?。如果您仍想在python代码中包装文本,textwrap.wrap将帮助您。
此外还有方便的模板标记:wordwrap。它使用django.utils.text.wrap函数,它似乎更适合在Django项目中使用。
答案 1 :(得分:1)
我不知道它是否有帮助,但一种方法可能是创建一个基于truncatewords
过滤器的新过滤器。
https://docs.djangoproject.com/en/1.3/ref/templates/builtins/#truncatewords
代码看起来非常简单:
def truncate_filter(value, maxlen):
if len(value) <= maxlen:
return value
return value[:maxlen-2] + '..'
另一个意思是使用:{{ username|stringformat:".10s" }}
截断10个字符。
https://docs.djangoproject.com/en/1.3/ref/templates/builtins/#stringformat
答案 2 :(得分:1)
这让我烦恼,因为内置的自动换行模板标签本应该起作用。而是使用这个......
{{ value|wordwrap:50|linebreaksbr }}
或
{{ value|wordwrap:50|linebreaks }}
取决于您是否需要<br>
或<br> and <p>
代码