def post_edit(id=1): form = PostForm() form.category.choices = [(str(c.id), c.title) for c in Category.query.all()] post = Post.query.get(id) if not post: abort(404) if form.validate_on_submit(): post.title = form.title.data post.tags = conformTags(form) post.cat_id = form.category.data post.content = form.content.data.replace("$$id", str(post.id)) db.session.commit() uploadFiles(form, os.getcwd() + "/blog/static/posts/" + str(post.id) + "/") flash(f'Пост було опубліковано', 'success') return redirect(url_for('posts.post_edit', id=id)) elif form.is_submitted(): flash("Будь ласка, заповніть всі поля відповідно до вимог.", "error") form.title.data = post.title form.tags.data = ", ".join([tag.title for tag in post.tags]) form.content.data = post.content return render_template( "add_post.html", title="Редагувати пост", form=form, files=listFiles(os.getcwd() + "/blog/static/posts/" + str(post.id) + "/"))
def update_post(slug): #This function handles post updates posts = Post.query.filter_by(slug=slug).first_or_404() post = Post.query.all() form = PostForm() if form.validate_on_submit(): posts.title = form.title.data posts.subtitle = form.subtitle.data posts.link = form.link.data posts.author = form.author.data posts.article = form.article.data db.session.commit() flash('Your post has been updated', 'success') return redirect(url_for('main.home')) elif request.method == 'GET': form.title.data = posts.title form.subtitle.data = posts.subtitle form.link.data = posts.link form.author.data = posts.author form.article.data = posts.article return render_template('addpost.html', form=form, title='Update Post', legend="Update Post", post=post)
def post_add(): form = PostForm() form.category.choices = [(str(c.id), c.title) for c in Category.query.all()] if form.validate_on_submit(): tags = conformTags(form) post = Post(title=form.title.data, content=form.content.data, tags=tags, cat_id=form.category.data) post.content = post.content.replace("$$id", str(post.id)) db.session.add(post) db.session.commit() uploadFiles(form, os.getcwd() + "/blog/static/posts/" + str(post.id) + "/") flash(f'Пост було опубліковано', 'success') return redirect(url_for('posts.post_add')) elif form.is_submitted(): flash("Користувач з таким логіном вже існує!", "error") return render_template("add_post.html", categories=Category.query.all(), title="Додати пост", form=form, files=[])
def update_post(post_id): post = Post.query.get_or_404(post_id) if post.author != current_user: abort(403) form = PostForm() form.trip.choices = [ (g.id, g.destination) for g in Travel.query.order_by(Travel.date_posted.desc()) ] if form.validate_on_submit(): if form.picture.data: picture_file = save_picture(form.picture.data) post.image_file = picture_file trip = Travel.query.get(form.trip.data) post.trip = trip post.title = form.title.data post.content = form.content.data db.session.commit() flash('Your post has been updated!', 'success') return redirect(url_for('posts.post', post_id=post.id)) elif request.method == 'GET': form.title.data = post.title form.content.data = post.content return render_template('create_post.html', title='Update Post', form=form, legend='Update Post')
def update_post(post_id): post = Post.query.get_or_404(post_id) if post.author != current_user: abort(403) form = PostForm() if form.validate_on_submit(): dt = datetime.utcnow().replace(tzinfo=timezone.utc) dt = dt.astimezone(timezone(timedelta(hours=8))) dt = dt.replace(tzinfo=None) post.title = form.title.data post.subtitle = form.subtitle.data post.content = form.content.data post.update_posted = dt db.session.commit() flash('貼文更新完成', 'success') return redirect(url_for('posts.post', post_id=post.id)) elif request.method == 'GET': form.title.data = post.title form.subtitle.data = post.subtitle form.content.data = post.content return render_template('create_post.html', form=form, legend='Update', title='Update Post')
def new_post(): form = PostForm() if form.validate_on_submit(): post = Post(title=form.title.data, content=form.content.data, author=current_user) db.session.add(post) db.session.commit() flash('Post created','success') return redirect(url_for('main.home')) return render_template('create_post.html', title='New Post', legend='Create Post' ,form=form)
def new_post(): form = PostForm() if form.validate_on_submit(): post = Post(title = form.title.data, content = form.content.data, user_id = current_user.id)#using the backref gives you the same thing i.e author=current_user db.session.add(post) db.session.commit() flash('Post created', 'success') return redirect(url_for('main.home')) return render_template('create_post.html', title='New Post', form=form)
def create(): form = PostForm() if form.validate_on_submit(): post = Post(title=form.title.data, text=form.text.data, user_id=current_user.id) db.session.add(post) db.session.commit() return redirect(url_for('core.index')) return render_template('create_post.html', form=form)
def create_post(): form = PostForm() if form.validate_on_submit(): post = Post(title=form.title.data, content=form.content.data, brief=form.content.data[:int(len(form.content.data) / 6)], author=current_user) db.session.add(post) db.session.commit() flash("Your post has been created", "success") return redirect(url_for("main.home")) return render_template("create_post.html", form=form, legend="Create Post")
def new_post(): form = PostForm() if form.validate_on_submit(): post = Post(form.title.data, form.content.data, current_user.id) db.session.add(post) db.session.commit() flash('Your post is submitted', 'success') return redirect(url_for('main_bp.home')) return render_template('create_post.html', title='New Post', form=form, legend='Update Post')
def new_post(): form = PostForm() if form.validate_on_submit(): post = Post(title=form.title.data, body=form.body.data, author=current_user) db.session.add(post) db.session.commit() flash('Ваша статья была создана!', 'success') return redirect(url_for('main.home')) return render_template('posts/create_post.html', title='Создать новую статью', form=form, legend='Создать новую статью')
def newPost(): form = PostForm() if form.validate_on_submit(): post = Post(title=form.title.data, content=form.content.data, author=current_user) db.session.add(post) db.session.commit() flash("Post had been created!", "success") return redirect(url_for("main.home")) return render_template("createPost.html", title="New Post", form=form, legend="New Post")
def new_post(): form = PostForm() categories = [(c.category_name) for c in Categories.objects] form.category.choices = categories if form.validate_on_submit(): post = Post(title=form.title.data, content=form.content.data, author=current_user.id) post.save() flash("Post has been created!", "success") return redirect(url_for("main.home")) return render_template("posts/create_post.html", title="New Post", form=form, legend="New Post")
def update_post(post_id): post = Post.query.get_or_404(post_id) if post.author != current_user: abort(403) form = PostForm() if form.validate_on_submit(): post.title = form.title.data post.content = form.content.data db.session.commit() flash('Your Post has been updated','success') return redirect(url_for('posts.post', post_id=post.id)) elif request.method == 'GET': form.title.data = post.title form.content.data = post.content return render_template('create_post.html', title='Update Post', legend='Update Post' ,form=form)
def update_post(id): post = Post.query.get_or_404(id) if post.author != current_user: abort(403) form = PostForm() if form.validate_on_submit(): post.title = form.title.data post.content = form.content.data db.session.commit() flash("Your post has been updated!", "success") return redirect(url_for('posts.post', id=post.id)) elif request.method == "GET": form.title.data = post.title form.content.data = post.content return render_template("create_post.html", form=form, legend="Update Post")
def new_post(): form = PostForm() if form.validate_on_submit(): post = Post(title=form.title.data, content=form.content.data, author=current_user.id) if form.picture.data: picture_file = save_post_picture(form.picture.data) post.image_file = picture_file flash(f'Your post have been created', 'success') post.save() return redirect(url_for('main.home')) return render_template('new_post.html', title='New Post', form=form, legend='New Post')
def new_post(): form = PostForm() if form.validate_on_submit(): # added author attribute to store in db post = Post(title=form.title.data, content=form.content.data, author=current_user) db.session.add(post) db.session.commit() flash('Your post has been created!', 'success') # redirecting to the MAIN package return redirect(url_for('main.home')) return render_template('create_post.html', title='New Post', form=form, legend='New Post')
def update(post_id): post = Post.query.get_or_404(post_id) if post.author != current_user: abort(403) form = PostForm() if form.validate_on_submit(): post.title = form.title.data post.text = form.text.data db.session.commit() return redirect(url_for('posts.read_post', post_id=post_id)) elif request.method == 'GET': form.title.data = post.title form.text.data = post.text return render_template('create_post.html', title='Updating', form=form)
def edit_post(slug): post = db.session.query(Post).filter(Post.slug == slug).first() if post.author != current_user: abort(403) form = PostForm() if form.validate_on_submit(): post.title = form.title.data post.body = form.body.data db.session.commit() flash('Ваша статья была отредактирована!', 'success') return redirect(url_for('posts.post', slug=post.slug)) elif request.method == 'GET': form.title.data = post.title form.body.data = post.body return render_template('posts/create_post.html', title='Редактировать статью', form=form, legend='Редактировать статью')
def update_post(post_id): post = Post.objects().get_or_404(id=post_id) if post.author.id != current_user.id: abort(403) form = PostForm() if form.validate_on_submit(): post.title = form.title.data post.content = form.content.data post.save() flash("Your post has been updated", "success") return redirect(url_for("posts.post", post_id=post.id)) elif request.method == "GET": form.title.data = post.title form.content.data = post.content return render_template("posts/create_post.html", title="Update Post", form=form, legend="Update Post")
def update_post(post_id): post = Post.query.get_or_404(post_id) if post.author != current_user: abort(403) form = PostForm() if form.validate_on_submit(): post.title = form.title.data post.content = form.content.data db.session.commit() # commit new data from form without add() # as data already in the db flash('You tweaked the post!', 'primary') return redirect(url_for('posts.post', post_id=post.id)) elif request.method == 'GET': # if we just find ourselves on the page form.title.data = post.title form.content.data = post.content return render_template('create_post.html', title='Update post', legend='Update Post', form=form)
def create_post(): if request.method == 'POST': title = request.form['title'] body = request.form['body'] post = Post(title=title, body=body) db.session.add(post) db.session.commit() return redirect(url_for('posts.index')) form = PostForm() return render_template('posts/create_post.html', form=form)
def new_post(): form = PostForm() form.trip.choices = [ (g.id, g.destination) for g in Travel.query.order_by(Travel.date_posted.desc()) ] form.trip.choices.insert(0, (0, '')) if form.validate_on_submit(): if form.trip.data == '': post = Post(title=form.title.data, content=form.content.data, author=current_user) elif form.trip.data == '' and form.picture.data: picture_file = save_picture(form.picture.data) post = Post(title=form.title.data, content=form.content.data, author=current_user, image_file=picture_file) elif form.picture.data: trip = Travel.query.get(form.trip.data) picture_file = save_picture(form.picture.data) post = Post(title=form.title.data, content=form.content.data, author=current_user, trip=trip, image_file=picture_file) else: trip = Travel.query.get(form.trip.data) post = Post(title=form.title.data, content=form.content.data, author=current_user, trip=trip) db.session.add(post) db.session.commit() flash('Your post has been created!', 'success') return redirect(url_for('main.home')) return render_template('create_post.html', title='New Post', form=form, legend='New Post')
def update_post(post_id): post = Post.query.get_or_404(post_id) # Only the user who created the post can edit it if post.author != current_user: abort(403) form = PostForm() if form.validate_on_submit(): post.title = form.title.data post.contents = form.content.data db.session.commit() flash('Your post has been updated!', 'success') return redirect(url_for('posts_bp.post', post_id=post.id)) form.title.data = post.title form.content.data = post.contents return render_template('create_post.html', title='Update Post', form=form, legend='Update Post')
def post(): #this function adds posts to the database post = Post.query.all() form = PostForm() if form.validate_on_submit(): l = form.title.data s = l.lower() posts = Post(title=form.title.data, subtitle=form.subtitle.data, link=form.link.data, author=form.author.data, article=form.article.data, slug=slugify(s)) db.session.add(posts) db.session.commit() return redirect(url_for('main.home')) return render_template('addpost.html', form=form, title='Add Post', legend="Add Post", post=post, directive='noindex')
def update_post(post_id): post = Post.objects.get_or_404(id=post_id) if post.author.email != current_user.email: abort(403) form = PostForm() if form.validate_on_submit(): if form.picture.data: picture_file = save_post_picture(form.picture.data) post.image_file = picture_file post.title = form.title.data post.content = form.content.data post.save() flash(f'You have been updated a post', 'success') return redirect(url_for('posts.post', post_id=post_id)) elif request.method == 'GET': form.title.data = post.title form.content.data = post.content image_file = url_for('static', filename='post_pics/' + post.image_file) return render_template('new_post.html', title='Update Post', image_file=image_file, form=form, legend='Update Post')
def posts_new(request): base_context = {"new_post": PostForm()} if request.method == "GET": return render(request, 'posts_new.html', context=dict(**base_context, **{})) elif request.method == "POST": form = PostForm(request.POST) post = form.save() if request.user.is_authenticated: post.create_uid = request.user post.save() return render( request, 'posts_new.html', context=dict( **base_context, **{ "message": f"New post {post.title} by {post.author} created", "message_type": "success", })) else: return HttpResponseNotAllowed()
def create_post(): if request.method == 'POST': title = request.form['title'] body = request.form['body'] try: post = Post(title=title, body=body) db.session.add(post) db.session.commit() except: current_app.logger.exception('Something wrong') return redirect(url_for('posts.index')) form = PostForm() return render_template('posts/create_post.html', form=form)
def edit_post(slug): post = Post.query.filter(Post.slug == slug).first_or_404() if request.method == 'POST': form = PostForm(formdata=request.form, obj=post) form.populate_obj(post) db.session.commit() return redirect(url_for('posts.post_detail', slug=post.slug)) form = PostForm(obj=post) return render_template('posts/edit_post.html', post=post, form=form)
def post_edit(request, id): post = Post.objects.get(pk=id) form = EditPostForm(instance=post) if request.method == "GET": return render(request, 'post_edit.html', context={"form": form}) elif request.method == "POST": create_uid = post.create_uid created_at = post.created_at form = PostForm(request.POST) post = form.save() post.updated_at = datetime.now() if request.user.is_authenticated: post.update_uid = request.user post.create_uid = create_uid post.created_at = created_at post.save() return redirect("post-view", id=post.id) else: return HttpResponseNotAllowed()