コード例 #1
0
def edit(post_id=None, post=None, user=None):
    '''
  Create or edit a post.
  '''
    user = user or None
    post = post.get() if post else None
    if request.method == 'POST':
        post = post or BlogPost(parent=user.key)
        post.fill(**request.form.to_dict())
        if not post.empty('subject', 'content'):
            try:
                key = post.put()
                return redirect(url_for('edit', post_id=post.uid))
            except Exception as ex:
                print('post crud error', ex)
                return abort(500)
    return render_template('edit.html', page=None, user=user, post=post)
コード例 #2
0
    def post(self):
        """ make sure user is signed in before handling post request """
        if not self.user:
            self.redirect("/login")
        else:
            subject = self.request.get('subject')
            content = self.request.get('content')
            if subject and content:
                post = BlogPost(subject=subject,
                                content=content,
                                user_id=self.user.key.id())

                post.put()
                self.redirect('/blog/%s' % str(post.key.id()))
            else:
                error = "Please enter subject and content!"
                self.render("new-post.html",
                            subject=subject,
                            content=content,
                            error=error,
                            user=self.user)