def blogpost(): blog = Blog.query.all() form = PostForm() filename = None if form.validate_on_submit(): image = request.files.get('image') if image: try: filename = uploaded_images.save(image) except: flash('The image could not be uploaded') else: print("File error!") maincategory = form.maincategory.data if form.new_subcategory.data: if not SubCategory.query.filter_by( name=form.new_subcategory.data).first(): maincategory.add_subcategory(form.new_subcategory.data, maincategory.id) subcategory = SubCategory.query.filter_by( name=form.new_subcategory.data).first() elif form.subcategory.data: subcategory = form.subcategory.data else: if (not SubCategory.query.filter_by(name="No Category")): maincategory.add_subcategory("No Category", maincategory.id) subcategory = SubCategory.query.filter_by( name="No Category").first() if form.new_subsubcategory.data: if not SubSubCategory.query.filter_by( name=form.new_subsubcategory.data).first(): subcategory.add_subsubcategory(form.new_subsubcategory.data, subcategory.id) subsubcategory = SubSubCategory.query.filter_by( name=form.new_subsubcategory.data).first() elif form.subsubcategory.data: subsubcategory = form.subsubcategory.data else: if (not SubSubCategory.query.filter_by( name="No Category").first()): subcategory.add_subsubcategory("No Category", subcategory.id) subsubcategory = SubSubCategory.query.filter_by( name="No Category").first() blog = Blog.query.first() author = Author.query.filter_by(username=session['username']).first() title = form.title.data body = form.body.data slug = slugify(title) post = Post(blog, author, title, body, maincategory.id, subcategory.id, subsubcategory.id, filename, slug) # Now add the Keywords # Extract Keywords from form and add them to Table if form.keywords.data: keywordstring = form.keywords.data # Remove whitespaces and split keywords = keywordstring.replace(' ', '').split(",") post.add_keywords(keywords) db.session.add(post) db.session.commit() return redirect(url_for('blog_app.article', slug=slug)) return render_template("admin/post.html", form=form, action='new', blog=blog)