def add_comment(): form = CommentForm() if form.validate_on_submit(): post = Post.objects(id=form.post_id.data).get() comment = Comment(text=form.comment_text.data, from_user=User.objects(id=current_user.id).get(), post=post) comment.save() Post.objects(id=form.post_id.data).update_one(push__comments=comment) return redirect(get_redirect_target())
def view_tag(tag): title = f"Tag: {tag}" search = False q = request.args.get('q') if q: search = True page = request.args.get(get_page_parameter(), type=int, default=1) posts_list = Post.objects(tag=tag).paginate(page=page, per_page=10) pagination = Pagination(page=page, total=Post.objects(tag=tag).count(), css_framework='bootstrap4', search=search, record_name='posts') return render_template('posts/tag_page.html', page_title=title, posts_list=posts_list, pagination=pagination)
def single_post(post_id): my_post = Post.objects(id=post_id).get() if not my_post: abort(404) form = CommentForm(post_id=post_id) return render_template('posts/single_post.html', page_title=my_post.title, post=my_post, comment_form=form)
def edit_post_proc(post_id): form = PostAddForm() post = Post.objects(id=post_id).get() post.title = form.title.data post.tag = form.tag.data post.text = form.text.data post.urls = form.url.data.split() post.save() flash('Edited post') return redirect(url_for("posts.index"))
def user_profile(user_id): title = "User profile" search = False q = request.args.get('q') if q: search = True page = request.args.get(get_page_parameter(), type=int, default=1) user_id = user_id user_posts = Post.objects(user=user_id).order_by("-posted").paginate( page=page, per_page=10) pagination = Pagination(page=page, total=Post.objects(user=user_id).count(), css_framework='bootstrap4', search=search, record_name='posts') return render_template('user/user_profile.html', title=title, posts_list=user_posts, pagination=pagination)
def edit_post(post_id): page_title = 'Edit post:' post = Post.objects(id=post_id).get() form = PostAddForm() form.title.data = post.title form.url.data = " ".join(post.urls) form.tag.data = post.tag form.text.data = post.text return render_template("posts/edit_post.html", page_title=page_title, form=form, post_id=post_id)
from app import create_app from app.posts.models import Post from app.user.models import User flask_app = create_app() user = User.objects(username="******").get() for post in Post.objects(): post.user = user post.save() print(post.user)
def get_last_urls(count): urls = [] for post in Post.objects().order_by("-posted").limit(count): urls.append(post.urls) urls = sum(urls, []) return urls
def delete_post(): form = DeleteForm() id_ = form.id_.data post = Post.objects(id=id_).get() post.delete() return redirect(url_for('posts.index'))