问题描述
{% for product in sales %}
<div>
<span>Customer:{{product.to_user}}</span><br>
<span>{{product.time}}</span><br>
<p class="message">{{product.message}}</p>
</div>
{% endfor %}
{{product.message}}
模板标记包含用换行符('\ n')分隔的信息。但是,换行符不是用HTML呈现的,信息以单行显示,省略了“ \ n”。
我尝试从<p>
标记中捕获信息,并将\n
替换为<br>
,然后再次在相同的<p>
标记中设置文本。但这似乎不起作用。
如上所述,这就是我的方法。
$(document).ready(function(){
let renderedText = $(".message").text()
//alert(renderedText)
final_txt = renderedText.replace(/\n/g,"<br>")
$(".message").val(final_txt)
})
解决方法
像这样使用模板过滤器linebreaksbr:
<p class="message">{{ product.message|linebreaksbr }}</p>
,
为了获得行信息,您可以使用 pre tag 来跟踪空格和新行。
let message = `Lorem ipsum text Lorem ipsum text Lorem ipsum text.
Lorem ipsum textLorem ipsum text
Lorem ipsum textLorem ipsum textLorem ipsum textLorem ipsum textLorem ipsum textLorem ipsum textLorem ipsum textLorem ipsum textLorem ipsum text`;
<div><pre>{message}</pre></div>