0
我是新的GAE和Python语言,我想做任何事情都非常简单,我有评论框(http://soltexfirstapp.appspot.com),我想要的是,检查是否有人写了一个新的在用户提交新内容之前发表评论,并通过一个框提醒他说:“评论框中有新评论,你想继续吗?!是或否?”。我对python语法感到困惑,特别是在查询的时候。谷歌应用程序引擎数据库最后登录
我的代码工作...
喊。 PY
import webapp2
import datetime
import time
from google.appengine.ext import webapp
from google.appengine.ext import db
from google.appengine.ext.webapp \
import template
class Shout(db.Model):
message = db.StringProperty(required=True)
when = db.DateTimeProperty(auto_now_add=True)
who = db.StringProperty()
class MainPage(webapp2.RequestHandler):
def get(self):
shouts = db.GqlQuery('SELECT * FROM Shout '
'ORDER BY when ASC')
values = {
'shouts': shouts
}
# my attempt to make and print the query
# aaa = db.GqlQuery('SELECT * FROM Shout '
'ORDER BY when DESC LIMIT 1')
# self.response.out.write('Query is: %s', aaa)
self.response.out.write(template.render('main.html',values))
def post(self):
shout = Shout (
message = self.request.get('message'),
who = self.request.get('who'))
shout.put()
self.redirect('/')
application = webapp2.WSGIApplication([
('/', MainPage),
], debug=True)
main.html中
<!DOCTYPE html>
<html>
<head>
<title>Comment System</title>
<link rel="stylesheet" href="./css/main.css" media="screen" />
</head>
<body>
<h1>Cloud Comment System</h1>
{% for shout in shouts %}
<div>
<div id="fl">
{{shout.when}}
from
{% ifequal shout.who "" %}
Anonymous
{% else %}
{{shout.who}}
{% endifequal %}
</div>
{{shout.message}}
</div>
{% endfor %}
<form action="" method="post" accept-charset="utf-8">
<p>From:<input type="text" name="who" value="" id="who"></p>
<p>Message:<input type="text" name="message" value="" id="message"></p>
<p><input type="submit" name="" value="comment"></p>
</form>
</body>
</html>
我真的很感激任何帮助。谢谢
是的,你是对的,我应该说我的代码正在工作。 Iam使用ASC的顺序,最后一个是最新的,所以它对我来说是okey。 关于额外的人物,这两种方式都是正确的,请查看https://www.youtube.com/watch?v=bfgO-LXGpTM分钟6:49由谷歌开发人员制作的视频。 感谢您的“提取”提示,我现在没有考虑到这一点,但它是一个很好的理念,我会尽力实施。 我想要的是,比较用户提交评论前后的最后一个“何时”,如果提交之后和发布之前不一样,用户应该被提醒。 – soltex
您可能需要为此使用异步JavaScript请求,否则如果我理解您说的正确,则需要两次提交文章 –