簡體   English   中英

將標准輸出流轉換為html(添加 <br> 在換行符上)

[英]Converting stdout stream to html (add <br> on linebreaks)

我正在嘗試獲取一些控制台輸出文本,並通過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)

一個簡單的錯誤,我應該傳遞HTML,而不是文本。 另外,在文本中添加前置標記比替換所有\\ n簡單得多

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM