def create_post():
    form = PostForm(request.form)
    form.tags.choices = [(tag.id, tag.title) for tag in Tag.query.all()]

    if request.method == 'POST' and form.validate():
        title = request.form['title']
        body = request.form['body']
        tags = request.form.getlist('tags')
        post = Post(title=title, body=body)
        post.add_tags(tags)
        db.session.add(post)
        db.session.commit()
        flash('Post created successfully', 'success')
        return redirect(url_for('blog.index'))

    return render_template('blog/create_post.html', form=form)
 def post(self):
     """
     Adds a new post
     """
     data = api.payload
     tags = data.get('tags')
     if not tags:
         abort(400, {"Tags": ["Les tags sont necessaire!"]})
     form = PostForm.from_json(data)
     if form.validate():
         title = data.get('title')
         content = data.get('content')
         post = Post(id=uuid.uuid4().hex,title=title.lower(), content=content, user=g.user,\
                     posted_at=datetime.utcnow(), refugee_post=g.user.refugee)
         post.add_tags(tags)
         db.session.add(post)
         db.session.commit()
         return {'element': post.to_json()}, 201
     return {"message": form.errors}, 400