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