以降序显示googleappengine中的内容

2024-10-03 09:13:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着显示谷歌应用程序引擎中的记录,按输入时间降序排列。我使用DateTimeProperty在“Datastore”中设置Timestamp列。你知道吗

from flask import Flask, render_template, request, redirect
from google.appengine.ext import ndb

app = Flask(__name__)

class MessagePost(ndb.Model):
    Title = ndb.StringProperty(required=True)
    MyPost = ndb.StringProperty(required=True)
    Timestamp = ndb.DateTimeProperty(auto_now_add=True)

@app.route("/Posting_message", methods=["POST"])
def posting_messsage():
    title = request.form["your_title"]
    mypost = request.form["title"]

    post_key = MessagePost(Title=title, MyPost=mypost).put()
    retrieved_post = MessagePost.query().order(-MessagePost.Timestamp)

    return render_template("simple_post.html", retrieved_post=retrieved_post.Title, retrieved_title=retrieved_post.MyPost)

@app.route("/")
def post_page():
    return render_template("simple_post.html")

if __name__ == "__main__":
    app.run(debug=True)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title> Twitt post</title>
    <link rel="stylesheet" type="text/css" href="/static/style.css?v=1.8483317">
</head>
<body>
<div>
    <form name="twitt_form" action={{url_for("posting_messsage")}} method="POST">
        <b style="font-size:124%";>TITLE</b><hr> <br>
    <textarea rows="1" cols="20" name="your_title" id='your_title' value="" required></textarea> <br><br>
        <b style="font-size:124%";>WRITE YOUR POST</b><hr> <br>
        <textarea name="title" id='title' value="" required></textarea> <br><br>
    <br>
    <button type="submit" class="button"><b style="font-size:124%";>POST</b></button>
    </form> <br><br><br><br>
</div
    <div id = "lower_part">
        <b style="font-size:124%";>RECENTPOST</b> <br><hr><br>
        <textarea rows="1" cols="20" name="Recent_post" id="my_post" disabled>{{retrieved_post}} {{retrieved_title}}
        </textarea><br><br>
        <button class="delete_button"><b style="font-size:124%";>Delete</b></button>
    </div>
</body>
</html>

这是data,也就是datastore

`Key    Write Ops    ID    Key Name    MyPost    Timestamp    Title
    aghkZXZ-...    8    4504699138998272        eeee    2018-06-06 09:42:42    how 
    aghkZXZ-...    8    5064350557536256        prem    2018-06-06 09:37:46    hi
    aghkZXZ-...    8    5345825534246912        nandha    2018-06-06 09:34:31    hello
    aghkZXZ-...    8    5627300510957568        back    2018-06-06 09:38:32    welcome
    aghkZXZ-...    8    5630599045840896        hahah    2018-06-06 09:43:40    hahah
    aghkZXZ-...    8    6190250464378880        goodwork 2018-06-06 09:38:08 nanda
    aghkZXZ-...    8    6471725441089536        welcome     2018-06-06 09:37:37 hey
    aghkZXZ-...    8    6753200417800192        hard     2018-06-06 09:38:47 work`

我需要My_PostTitle以降序显示在datastore中。你知道吗


Tags: namebrformsizetitlestylehtmlbutton
1条回答
网友
1楼 · 发布于 2024-10-03 09:13:08

由于ndb的“最终一致性”,实体可能不会立即可用。你的代码要求它立即可用。既然已经有了实体属性,为什么还要花费资源进行查询呢?^一旦put()成功,将设置{}。所以你可以测试它,或者仅仅使用你已经拥有的属性。查询在这里是浪费。你知道吗

相关问题 更多 >