나는이 모델이 있습니다wtforms는 NDB 및 Blob 저장소
class Product(ndb.Model):
title = ndb.StringProperty()
description = ndb.TextProperty()
img = ndb.BlobKeyProperty(indexed=False)
내가 필드 (제목 및 설명)의 값을 읽는 HTML 양식을 필요로하고 (파일 필드에서) 이미지를 읽고, 값 NDB 객체, 이미지를 Blobstore에 유지하고 필드 BlobKeyProperty를 올바르게 업데이트합니다. 내가 wtforms 작업으로
는, 내가 좋아하는 형태로 작업을 수행하려고 다음 : 양식이 제대로 파일 필드를 보여줍니다하지만 난하지 않기 때문에 POST에, 그것은 작동하지 않습니다
class ProductForm(Form):
title = fields.TextField('Title', [validators.Required(), validators.Length(min=4, max=25)])
description = fields.TextAreaField('Description')
img = fields.FileField('img')
파일을 읽고 Blobstore에 파일을 저장하고 BlobKeyProperty를 업데이트하는 방법을 알고 있어야합니다.
내 핸들러는 이것이다 :
class ProductHandler(BaseHandler):
def new(self):
if self.request.POST:
data = ProductForm(self.request.POST)
if data.validate():
model = Product()
data.populate_obj(model)
model.put()
self.add_message("Product add!", 'success')
return self.redirect_to("product-list")
else:
self.add_message("Product not add!", 'error')
params = {
'form': ProductForm(),
"kind": "product",
}
return self.render_template('admin/new.html', **params)
오류는 누군가가 나를 도울 수 있다면, 나는 그것을 감사하겠습니다, STR을 예상 u'image.jpg '
을 받고 있습니다!