Google App Engine上的简单博客 - 未显示任何条目

时间:2014-01-06 15:45:27

标签: python google-app-engine

我在同一主题上看过类似的问题,这个问题是用Python编写一个非常简单的博客并在GAE上托管。如果我在其中一个答案中错过了解决方案,请道歉。

我根本看不到任何数据库条目。这是我的代码:

实体:

class Comment(db.Model):
    name = db.StringProperty(required=True)
    comment = db.TextProperty(required=True)
    created = time.strftime("%d/%m/%Y")

主要处理者:

class MainPage(Handler):
    def render_front(self, name="", comment="", error=""):
        comments = db.GqlQuery("SELECT * FROM Comment ORDER BY created DESC")
        self.render("front.html", name=name, comment=comment, error=error, comments=comments)
    def get(self):
        self.render_front()
    def post(self):
        name = self.request.get("name")
        comment = self.request.get("comment")
        if name and comment:
            c = Comment(name=name, comment=comment)
            c.put()
            time.sleep(0.5)
            self.redirect("/")

所以这将显示在HTML中:

{% for e in comments %}
    <div class="comment">
        <div class="comment-name">
            {{e.name}}
        </div>
        <pre class="comment-content">
            {{e.comment}}
            <br>
            on {{e.created}}
        </pre>
    </div>
{% endfor %}

问题是该程序似乎完全忽略了上面的阻止。我设法让它工作了一段时间,但我检查了很多次,看不出问题出在哪里。

任何帮助将不胜感激。提前谢谢。

1 个答案:

答案 0 :(得分:3)

有几种方法可以检查:

  • 使用管理控制台查看您的数据存储区。你有记录吗?

  • 您的日期时间属性是否正确存储?有关DS和日期时间的文档,请参阅此处:https://developers.google.com/appengine/docs/python/datastore/typesandpropertyclasses#DateTimeProperty

  • 您是否将日期设为'dateTimeProperty'类型?请参阅此处的示例:developers.google.com/appengine/docs/python/ndb/queries另请参见此处:stackoverflow.com/questions/9700579/gql-select-by-date

  • 尝试删除GQL中的ORDER BY子句。我想知道日期/时间变量是否有点时髦

  • 尝试使用App Engine SDK在本地运行,并使用其中的日志查看行为。如果您对一切正常而感到高兴,可以将其上传到GAE。

  • 不要使用模板引擎 - 现在只需在Python中完全循环 - 并且self.response.write东西。这将告诉您查询是否正常工作。

希望它适合你! :)