将stdout流转换为html(在换行符上添加<br/>)

时间:2016-09-08 20:01:49

标签: javascript python html django

我试图获取一些控制台输出文本,并通过我网站上的模式中的django / js呈现它。打印控制台输出时,换行符工作正常,但在网站上呈现时,它们全部显示为一行。我尝试用<br>替换所有\ n但它似乎没有任何效果。 <br>以纯文本形式显示。有关更好的方法的任何想法/为什么这不是首先工作?

import sys
from io import StringIO

# Save the old stdout
old_stdout = sys.stdout

# Save the stdout to variable
sys.stdout = mystdout = StringIO()

... # Do some processing that generates console text

# Reset the to the old stdout
sys.stdout = old_stdout

# Get the stdout
processing_std_out = mystdout.getvalue()

# Replace all the linebreaks with <br>
# This is the important part
processing_std_out = processing_std_out.replace("\n","<br>")

# return HttpResponse(json.dumps({'console_output':processing_std_out}), content_type="application/json")

js是这样的:

input_modal.find('.modal-body').text('Analysis complete'+response.console_output)

1 个答案:

答案 0 :(得分:0)

简单的错误,我应该传递HTML,而不是文本。此外,在文本中添加前标签要比替换所有\ n

简单得多
group_id  |   user_id
--------- | ----------
  51      |     1
  52      |     1
  53      |     4