私は、選択した言語としてPythonでGoogleAppEngineを使用する方法を学習しています。GoogleAppEngineデータストアがレコードを返さない
は、ここに私のコードです:
import cgi
from google.appengine.api import users
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.ext import db
class Greeting(db.Model):
author = db.UserProperty()
content = db.StringProperty(multiline=True)
date = db.DateTimeProperty(auto_now_add=True)
class BlogPost(db.Model):
author = db.UserProperty();
body = db.StringProperty(multiline=True)
postDate = db.DateTimeProperty(auto_now_add=True)
class MainPage(webapp.RequestHandler):
def get(self):
self.response.out.write('<html><body>')
blogPosts = db.GqlQuery("SELECT * FROM BlogPost ORDER BY date DESC LIMIT 10")
greetings = db.GqlQuery("SELECT * FROM Greeting ORDER BY date DESC LIMIT 10")
for post in blogPosts:
if post.author:
self.response.out.write('<b>%s</b>' % post.author.nickname())
else:
self.response.out.write('<b>A guest wrote:</b>')
self.response.out.write(cgi.escape(post.body))
# Write the submission form and the footer of the page
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>""")
class Guestbook(webapp.RequestHandler):
def post(self):
post = BlogPost()
if users.get_current_user():
post.author = users.get_current_user()
post.body = self.request.get('content')
post.put()
self.redirect('/')
application = webapp.WSGIApplication(
[('/', MainPage),
('/sign', Guestbook)],
debug=True)
def main():
run_wsgi_app(application)
if __name__ == "__main__":
main()
が、私は自分のために物事をテストするためだけのブログ投稿のクラスを追加したい、レコードがデータストアに保存されていないようです。私は私のIDEとして私はブレークポイントを使用することはできませんコモドの編集を使用しています。
目立つ間違いはありますか?
ありがとうございました!
InternalErrorは私のためだけだった。プロパティで 'C:\ Python27 \ pythonw.exe'に切り替えることでそれを取り除きました。私は' Python25'に設定しました – soulseekah
App Engine用のPython 2.5を使うべきです - 新しいリビジョンを使用してください。 –
@Nickは頭をアップしてくれてありがとう。 – soulseekah