def edit(self): blog_id = int(self.request.matchdict.get('id', -1)) entry = BlogRecordService.by_id(blog_id) if not entry: return HTTPNotFound() form = Form(BlogCreateSchema(), buttons=('submit',)) form = BlogUpdateForm(self.request.POST, entry) if self.request.method == 'POST' and form.validate(): if form.image.data: form.image.data = self.request.storage.save(self.request.POST[form.image.name], folder='blog') else: form.image.data = entry.image form.populate_obj(entry) return HTTPFound(location=entry.url) return {'form': form}