예제 #1
0
    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}