Google App Engine数据存储区多行条目未在HTML中显示为多行

Ped*_*dro 4 python google-app-engine multiline

以Google App Store留言板演示为例,当输入多行并存储时,当回读并显示时,它会出现在一行中.
我们怎样才能让它在最初进入多条线条时显得格外出现?

databasemodel是这样的:

class Greeting(db.Model):
    author = db.UserProperty()
    content = db.StringProperty(multiline=True)
    date = db.DateTimeProperty(auto_now_add=True)
Run Code Online (Sandbox Code Playgroud)

提交表格如下:

self.response.out.write("""
          <form action="/sign" method="post">
            <div><textarea name="content" rows="3" cols="60"></textarea></div>
            <div><input type="submit" value="Sign Guestbook"></div>
          </form>
        </body>
      </html>""")
Run Code Online (Sandbox Code Playgroud)

sys*_*out 8

Html忽略EOL特殊字符,如\r\n\n.

以下是一些选项:

  1. 用适当的html <br>标记替换特殊字符

  2. 将多行文本换行到<pre>标记内

  3. 如果您使用的是webapp模板,请{{greeting.content|linebreaks}}按照@wooble的建议进行尝试

  4. white-space:pre根据@Nick的建议设置在CSS中 (此处示例)

  • 如果您使用模板,(1)可能就像在模板中添加过滤器一样简单; 在django(这是webapp模板使用的),做`{{greeting.content | linebreaks}}`. (3认同)