【问题标题】:How to preserve the original string format with jinja template [duplicate]如何使用 jinja 模板保留原始字符串格式[重复]
【发布时间】:2018-10-08 10:06:34
【问题描述】:

寻找小费。

我在其他地方生成了一个随机字符串,格式为:

string = """[TAG1] Lorem ipsum dolor sit amet, consectetur adipiscing elit.
                   Maecenas commodo diam ac sollicitudin vestibulum. Nunc ac
                   dignissim elit.
            [TAG2] Lorem ipsum dolor sit amet, consectetur adipiscing elit.
            Maecenas commodo diam ac sollicitudin vestibulum. Nunc ac
            dignissim elit.
         """

现在我想将它传递给 html 模板并保留它的实际格式。

现在我用 '\n' 和分割字符串:

 {% for line in comments %}
    <div>{{ line|safe}}</div>
 {% endfor %}

导致:

string = """[TAG1] Lorem ipsum dolor sit amet, consectetur adipiscing elit.
            Maecenas commodo diam ac sollicitudin vestibulum. Nunc ac
            dignissim elit.
            [TAG2] Lorem ipsum dolor sit amet, consectetur adipiscing elit.
            Maecenas commodo diam ac sollicitudin vestibulum. Nunc ac
            dignissim elit.
         """

我应该用 html 实体替换空格吗?可接受的方法是什么?

【问题讨论】:

    标签: python html jinja2


    【解决方案1】:

    看起来都不错..希望这会有所帮助

    <p style="white-space: pre-wrap;">{{ string }}</p>
    

    <p style="white-space: pre-line;">{{ string }}</p>
    

    更新

    main.py

    from flask import Flask, render_template, request
    
    app = Flask(__name__)
    
    @app.route('/', methods=['GET', 'POST'])
    def index():
        string = """[TAG1] Lorem ipsum dolor sit amet, consectetur adipiscing elit.
                       Maecenas commodo diam ac sollicitudin vestibulum. Nunc ac
                       dignissim elit.
                [TAG2] Lorem ipsum dolor sit amet, consectetur adipiscing elit.
                Maecenas commodo diam ac sollicitudin vestibulum. Nunc ac
                dignissim elit.
             """
    
        return render_template('index.html', string=string)     
    

    index.html

    <html>
    <head>
    </head>
    <body>
        <p style="white-space: pre-line;">{{ string }}</p>
    </body>
    </html>
    

    【讨论】:

    • 你能展示一下你是怎么做到的吗?对我来说它不起作用。即使没有换行,字符串也只是一个文本块。
    猜你喜欢
    • 2016-09-17
    • 2023-01-19
    • 1970-01-01
    • 2018-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    相关资源
    最近更新 更多