【发布时间】:2015-10-05 10:22:59
【问题描述】:
我已将blobstore example 集成到我自己的代码中,但发现无法使其正常工作。图片已上传(在数据库中),但 upload = self.get_uploads()[0] 行不起作用,因为 self.get_uploads() 为空
这是我的代码:
class ImageCreate(Resource):
def get(self):
form = ImageCreateForm()
return render_template('images/create.html', form=form, upload_url=blobstore.create_upload_url('/admin/upload')))
class PhotoUploadHandler(Resource, BlobstoreUploadHandler):
def post(self):
try:
upload = self.get_uploads()[0]
form = ImageCreateForm(data=request.get_json())
image =Image(title=form.title.data, blob_key=upload.key(), notes=form.notes.data)
image.put()
redirect('/admin/image/list')
except():
redirect('/admin/image/list')
api.add_resource(ImageCreate, '/admin/images/create', endpoint='image_create')
api.add_resource(PhotoUploadHandler, '/admin/upload', endpoint='image_upload')
class Image(ndb.Model):
title = ndb.StringProperty()
blob_key = ndb.BlobKeyProperty()
notes = ndb.StringProperty()
date_added = ndb.DateTimeProperty(auto_now_add=True)
class ImageCreateForm(Form):
title = StringField('Title', validators=[DataRequired()])
notes = TextAreaField('Notes')
<form action="{{ upload_url }}" method="post" name="create-image" enctype=multipart/form-data>
{{ form.hidden_tag() }}
<div> {{ form.title }}</div>
<input type="file" name="file">
<div> {{ form.notes }}</div>
<div><input type="submit" name="submit" value="Upload"></div>
</form>
【问题讨论】:
标签: python-2.7 google-app-engine blobstore flask-restful