次のようなコードでflaskとpythonでweb表示させると改行がなくなってしまう文字列を、改行ありで表示させたいのですがうまくいきません。
対処法がありましたらご教示いただければ幸いです。
<元々のコード>
python
1def hyouji() 2 randomword = ('ac \n1 cd ', 3 'abcd \n2 kbic','kebi') 4 return (str(randomword))
シェルで出力した場合、
ab ←(ちゃんと改行されている)
cd
abcd
kbic
kebi
と、改行されて出力され、このとおりにwebでも表示したいのですが、
webの表示は
abcd ←(この部分が改行されず、まずい)
abcdkbic ←(この部分が改行されず、まずい)
kebi のようになってしまいます。
次のように Markupの使用を試みているのですが、上記の元々の出力のとおり、改行無しで表示されてしまいます。
python
1def hyouji() 2 randomword = ('ac \n1 cd ', 3 'abcd \n2 kbic','kebi') 4 return Markup(randomword.replace('\r','<br>'))
一応確認ですが Markup は from markupsafe import Markup でインポートしたもので合ってますか?
return Markup(randomword.replace('\r','<br>')) の行を書いたのはあなた自身ですか?
コメントありがとうございます。from flask import Markup で実行したもので、コードは、ネットで調べて見ようみ真似で書いてみたものです。ちなみにfrom markupsafe import Markup でやっても改行されませんでした。
おっとflaskからimportできるのを知りませんでした。実装はmarkupsafeそのものなので結果が変わることはないですね。
https://github.com/pallets/flask/blob/1.1.1/src/flask/__init__.py#L15
https://github.com/noirbizarre/jinja2/blob/2.7.2/jinja2/__init__.py#L55
https://github.com/noirbizarre/jinja2/blob/2.7.2/jinja2/utils.py#L520
回答1件
あなたの回答
tips
プレビュー