1
を形成し、私はこれを実行するとの表示画像は、私はちょうどGAE上に画像を表示アウトテストしていたデータストア
import cgi
import wsgiref.handlers
from google.appengine.api import users
from google.appengine.api import images
from google.appengine.ext import db
from google.appengine.ext import webapp
class ImgUpload(db.Model):
project_name = db.StringProperty()
project_description = db.StringProperty(multiline=True)
img_name = db.StringProperty()
img_img = db.BlobProperty()
date = db.DateTimeProperty(auto_now_add=True)
class UploadPage(webapp.RequestHandler):
def get(self):
self.response.out.write("""<html><body>
<form action="/upload" enctype="multipart/form-data" method="post">
<div><label>Project Name</label></div>
<div><textarea name="title" rows="2" columns "60"></textarea></div>
<div><label>Despcription:</label></div>
<div><textarea name="content" rows="3" cols="60"></textarea></div>
<div><label>Image Name</label></div>
<div><textarea name="imgname" row="1" cols="60"></textarea></div>
<div><label>Image</label></div>
<div><input type="file" name="img"/></div>
<div><input type="submit" value="Upload" /></div>
</form>
</body>
</html>""")
def post(self):
images = ImgUpload()
project_name = self.request.get('title')
project_description = self.request.get('content')
img_img = self.request.get('img')
img_name = self.request.get('imgname')
images.img_img = db.Blob(img_img)
images.project_name = project_name
images.project_description = project_description
images.img_name = img_name
images.put()
self.redirect('/upload')
class DisplayPage(webapp.RequestHandler):
def get(self):
display = db.GqlQuery("SELECT * "
"FROM display "
"WHERE ANCESTOR IS :1 "
"ORDER BY date DESC LIMIT 5"
)
for record in display:
self.response.out.write('<b>%s</> is the Name' % record.project_name)
def main():
application = webapp.WSGIApplication(
[('/', UploadPage),
('/display', DisplayPage)
],
debug=True)
wsgiref.handlers.CGIHandler().run(application)
if __name__=="__main__":
main()
が、私はKindError取得この小さなの.pyを持っています。これはDBキーの欠如に関連する問題ですか?私はデータが店舗にあることを知っています。私は管理者にそれを見ることができます。そして、私の頭の上から命名の問題は見えません。私が知っているすべてのために何千もの)。このエラーの原因は何ですか?事前にアドバイスをいただきありがとうございます。
私はImgUploadの問題を修正しましたが、もちろん新しいエラーが発生しました。参考までに[this](http://code.google.com/appengine/docs/python/images/usingimages.html)を使用していました。私は各エントリごとに異なる文字列を使いたいので、すべてのエントリをグループ化しておくことができます。フィールドの1つをキーとして使用できますか?それにキー(title.append( ' - key'))を入力するだけですか? – Kevin
私はあなたの例で生成されたhtmlコードを調べ、いくつかのロギング呼び出しをPythonコードに追加することをお勧めします。各挨拶には一意のキーがあります。そのキーをイメージ表示ビューに渡し、クエリを使用するのではなく、キーでイメージを取得します。また、[キーとパス](http://code.google.com/appengine/docs/python/datastore/entities.html)で説明されているドキュメントをよく読んで、簡単に文字列からキーを作成できます。 –
私は、キーなしでクエリを実行し、forレコードを表示し、そこにhtmlを構築することによって、クエリが動作するようにすることができます。私はしかし、キーコンセプトをダウンすることはできません、私はおそらくそれについて新しい質問を開きます。 – Kevin