def user_popup(username): user = User.query.filter_by(username=username).first_or_404() if current_user.hindi != True: form = EmptyForm() return render_template('user_popup.html', user=user, form=form) else: form = EmptyForm() return render_template('user_popup.html', user=user, form=form)
def unfollow(username): form = EmptyForm() if form.validate_on_submit(): user = User.query.filter_by(username=username).first( ) #sets user to the first match found or None if no match found if user is None: #if no username match found... flash(_('User %(username)s not found', username=username)) #flash message return redirect(url_for('main.index')) #and then send user to home if user == current_user: #if user tries to unfollow themselves... flash( _('Nice try %(username)s, you cannot unfollow yourself.', username=username.title())) #print flash message return redirect(url_for( 'main.user', username=username)) #and then takes the user their page current_user.unfollow( user ) #if username is found and it is not the current_user's, process the unfollow db.session.commit() #save changes in database flash(_('You no longer follow %(username)s', username=username.title())) #flash message return redirect(url_for( 'main.user', username=username)) #redirect user to their profile else: return redirect( url_for('main.index') ) #if submission cant be validated redirect user to home page
def user(username, category="_favorite_posts"): user = User.query.filter_by(username=username).first_or_404() form = EmptyForm() page = request.args.get('page', 1, type=int) page_to_vievs = category + '.html' if category == "_favorite_posts": liked_posts = user.liked_posts().paginate( page, current_app.config['POSTS_PER_PAGE'], False) next_url = url_for( 'main.blog', page=liked_posts.next_num) if liked_posts.has_next else None prev_url = url_for( 'main.blog', page=liked_posts.prev_num) if liked_posts.has_prev else None if category == '_recomendation': liked_posts = db.session.query(Post).filter( Post.selected_posts == 1).all() next_url, prev_url = None, None if category == '_read_later': liked_posts = user.to_read_later().paginate( page, current_app.config['POSTS_PER_PAGE'], False) next_url = url_for( 'main.blog', page=liked_posts.next_num) if liked_posts.has_next else None prev_url = url_for( 'main.blog', page=liked_posts.prev_num) if liked_posts.has_prev else None return render_template('user_page.html', page_to_vievs=page_to_vievs, Comments=Comments, user=user, form=form, liked_posts=liked_posts, prev_url=prev_url, next_url=next_url)
def user(username): user = User.query.filter_by(username=username).first_or_404() page = request.args.get('page', 1, type=int) posts = user.posts.order_by(Post.timestamp.desc()).paginate( page, current_app.config['POSTS_PER_PAGE'], False) #photos = user.photos.order_by(Photo.timestamp.desc()).paginate( # 3 page, current_app.config['MEDIA_PER_PAGE'], False # ) #videos = user.videos.order_by(Video.timestamp.desc()).paginate( # page, current_app.config['MEDIA_PER_PAGE'], False # ) next_url = url_for('main.user', username=user.username, page=posts.next_num) if posts.has_next else None prev_url = url_for('main.user', username=user.username, page=posts.prev_num) if posts.has_prev else None form = EmptyForm() return render_template('user.html', posts=posts.items, next_url=next_url, prev_url=prev_url, form=form, user=user)
def post(id): post = Post.query.filter_by(id=id).first_or_404() form = EmptyForm() usernames = db.session.query(User.username).all() usernames = [x[0] for x in usernames] return render_template('post.html', title=f'Post: {id}', post=post, form=form, author=post.author.username, usernames=usernames)
def followed(): form = EmptyForm() return render_template('follow.html', followers=current_user.followed.all(), current_user=current_user, form=form, title=_('My following'))
def user(username): user = User.query.filter_by(username=username).first_or_404( ) # returns 404 if no user by that username found page = request.args.get(key='page', default=1, type=int) posts = user.posts.order_by(Post.timestamp.desc()).paginate( page, current_app.config['POSTS_PER_PAGE'], False ) # False parameter returns empty page instead of 404 error if trying to navigate to a page that doesn't exist if posts.has_next: next_url = url_for( 'main.user', username=user.username, page=posts.next_num ) # need username = user.username argument because url_for has to point back to same profile else: next_url = None if posts.has_prev: prev_url = url_for('main.user', username=user.username, page=posts.prev_num) else: prev_url = None form = EmptyForm( ) # add options to follow or unfollow, specified by username. return render_template('user.html', user=user, posts=posts.items, form=form, next_url=next_url, prev_url=prev_url)
def user(username): # <username> 이랑 변수명 맞춰줘야됨. # username에 맞는 값 가져오기 시도하여 성공하면 결과 가지고, 실패하면 404 에러 페이지 출력 # -> 사용자 이름이 데이터베이스에 존재하지 않으면 함수가 반환되지 않고 대신 404예외가 발생하기 때문에 쿼리가 사용자를 반환했는지 확인하지 않아도 됨. user = User.query.filter_by(username=username).first_or_404() #(db에있는 column= 변수명) """ posts = [ {'author': user, 'body': 'Test post #1'}, {'author': user, 'body': 'Test post #2'} ] """ # 사용자 프로필 보기 기능의 페이지 매김 page = request.args.get('page', 1, type=int) posts = user.posts.order_by(Post.timestamp.desc()).paginate( page , current_app.config['POSTS_PER_PAGE'], False) next_url = url_for('main.user', username=user.username, page=posts.next_num) \ if posts.has_next else None prev_url = url_for('main.user', username=user.username, page=posts.prev_num) \ if posts.has_prev else None # print(f'>>>>>>>>>>>>> {posts.items}') # [<Post post6>, <Post post5>, <Post post4>, <Post post3>, <Post post2>] # app.config['POSTS_PER_PAGE'] 만큼 출력 #print('>>>>> {next_url} , {prev_url}' ) # 팔로우or언팔로우 버튼을 렌더링하기 위해 EmptyForm 객체를 인스턴스화 하여 user.html 템플릿에 전달 form = EmptyForm() return render_template('user.html', user=user, posts=posts.items, next_url=next_url, prev_url=prev_url, form=form) # 성공하면 user 변수를 user에 넣고, posts 변수를 posts에 넣어 user.html 열기
def user(username): loggedin_user = User.query.filter_by(username=username).first_or_404() page = request.args.get("page", 1, type=int) posts = loggedin_user.posts.order_by(Post.timestamp.desc()).paginate( page, current_app.config["POSTS_PER_PAGE"], False ) next_url = ( url_for("main.user", username=username, page=posts.next_num) if posts.has_next else None ) prev_url = ( url_for("main.user", username=username, page=posts.prev_num) if posts.has_prev else None ) form = EmptyForm() return render_template( "user.html", user=loggedin_user, posts=posts.items, next_url=next_url, prev_url=prev_url, form=form, )
def user(username): user = User.query.filter_by(username=username).first_or_404() page = request.args.get('page', 1, type=int) pagination = user.posts.order_by(Post.timestamp.desc()).paginate(page, current_app.config['POSTS_PER_PAGE'], False) posts = pagination.items form = EmptyForm() return render_template('user.html', user=user, posts=posts, form=form, pagination=pagination)
def user(username): user = User.query.filter_by(username=username).first_or_404() page = request.args.get('page', 1, type=int) posts = user.posts.order_by(Post.timestamp.desc()).paginate( page, current_app.config['POSTS_PER_PAGE'], False) next_url = url_for('main.user', username=user.username, page=posts.next_num) if posts.has_next else None prev_url = url_for('main.user', username=user.username, page=posts.prev_num) if posts.has_prev else None empty_form = EmptyForm() post_form = PostForm() if post_form.validate_on_submit(): create_post(body=post_form.post.data) return redirect(url_for('main.user', username=username)) return render_template('user.html', user=user, posts=posts.items, next_url=next_url, prev_url=prev_url, empty_form=empty_form, post_form=post_form)
def follow(username): form = EmptyForm() if form.validate_on_submit(): #if follow is clicked... user = User.query.filter_by(username=username).first( ) #check for a matching username in User db if user is None: #if no matching username found in User db... flash(_('User %(username)s not found', username=username.title())) #flash message return redirect( url_for('main.index')) #and redirect user to home page if user == current_user: #if user attempts to follow themself... flash(_('Nice try, you cannot follow yourself.')) #flash message return redirect(url_for( 'main.user', username=username)) #and send them back to their profile current_user.follow( user ) #if user is NOT == None and NOT == current_user, follow the user that current_user wishes to follow db.session.commit() #update the data in the database flash( _('You are now following %(username)s!', username=username.title())) #flash confirmation message return redirect(url_for( 'main.user', username=username)) #finally send them back to their profile page else: return redirect( url_for('main.index' )) #if form is not validated, redirect user to home page
def user(username): user = User.query.filter_by(username=username).first_or_404() form = EmptyForm() return render_template( "user.html", user=user, form=form, )
def users(): page = request.args.get('page', 1, type=int) users = User.query.order_by(User.id.desc()).paginate( page, current_app.config['POSTS_PER_PAGE'], False) next_url = url_for('main.explore', page=users.next_num) if users.has_next else None prev_url = url_for('main.explore', page=users.prev_num) if users.has_prev else None form = EmptyForm() return render_template("users.html", title='Users', users=users.items, next_url=next_url, prev_url=prev_url, form=form)
def user(username): user = User.query.filter_by(username=username).first_or_404() posts = user.posts.order_by(Post.timestamp.desc()).paginate( 1, current_app.config['POSTS_PER_PAGE'], False) form = EmptyForm() return render_template('user.html', title=user.username, user=user, posts=posts.items, form=form)
def user(username): form = EmptyForm() user = User.query.filter_by(username=username).first_or_404() page = request.args.get("page", 1, type=int) posts = user.posts.order_by(Post.timestamp.desc()).paginate( page, current_app.config['POSTS_PER_PAGE'], False) prev_url = url_for("main.user", username=user.username, page=posts.prev_num) \ if posts.has_prev else None next_url = url_for("main.user", username=user.username, page=posts.next_num) \ if posts.has_next else None return render_template('user.html', user=user, posts=posts.items, form=form, prev_url=prev_url, next_url=next_url)
def unlike_post(post_id): form = EmptyForm() if form.validate_on_submit(): post = Post.query.filter_by(id=post_id).first() if post is None: flash('Post {} not found.'.format(post)) return redirect(url_for('main.index')) current_user.unlike_post(post) db.session.commit() flash('Post removed from liked posts') return redirect(url_for('main.post_info', post_id=post_id))
def user(username): user_ = User.get_user_by_username(username=username) if not user_: render_template('errors/404.html') page = request.args.get('page', 1, type=int) posts = User.get_posts_of_user(user=user_).paginate(page=page, per_page=current_app.config['POSTS_PER_PAGE'], error_out=False) next_url = url_for('main.index', page=posts.next_num) if posts.has_next else None prev_url = url_for('main.index', page=posts.prev_num) if posts.has_prev else None form = EmptyForm() return render_template('user.html', user=user_, posts=posts.items, form=form, next_url=next_url, prev_url=prev_url)
def unfollow_program(program_id): form = EmptyForm() if form.validate_on_submit(): program = Program.query.filter_by(id=program_id).first() if program is None: flash(_('Program not found.')) return redirect(url_for('main.programs')) current_user.unfollow_program(program) db.session.commit() flash(_('You are not following %(name)s.', name=program.name)) return redirect(request.referrer)
def user(username): user = User.query.filter_by(username=username).first_or_404() page = request.args.get('page', 1, type=int) posts = user.posts.order_by(Post.timestamp.desc()).paginate( page, current_app.config['POSTS_PER_PAGE'], False) next_url = url_for('main.user', username=user.username, page=posts.next_num) if posts.has_next else None prev_url = url_for('main.user', username=user.username, page=posts.prev_num) if posts.has_prev else None form = EmptyForm() return render_template('user.html', title=_('User Profile - Hikanotes'), user=user, posts=posts.items, next_url=next_url, prev_url=prev_url, form=form)
def user(username): user = User.query.filter_by(username=username).first_or_404() page=request.args.get('page',1,type=int) posts=Post.query.filter_by(user_id=user.id).order_by(Post.timestamp.desc()).paginate(page,current_app.config['POSTS_PER_PAGE'],False) next_url=url_for('main.user',username=user.username,page=posts.next_num) if posts.has_next else None prev_url=url_for('main.user',username=user.username,page=posts.prev_num) if posts.has_prev else None form=EmptyForm() """posts=[ {'author': user, 'body': 'Test post #1'}, {'author': user, 'body': 'Test post #2'} ]""" return render_template('user.html', user=user, posts=posts.items,form=form,next_url=next_url,prev_url=prev_url)
def program(program_id): specialty2 = session.get('specialty') program = Program.query.filter_by(id=program_id).first_or_404() interviews = program.interviews.order_by(Interview.date.desc()) page = request.args.get('page', 1, type=int) postform = PostForm() postivform = PostIVForm() if postform.validate_on_submit() and current_user.is_authenticated: interview_impression = Interview_Impression( body=postform.post.data, author=current_user, program=program, name_and_shame=postform.name_and_shame.data) db.session.add(interview_impression) db.session.commit() flash(_('Your interview impression is now live!')) return redirect(url_for('main.program', program_id=program_id)) if postivform.validate_on_submit() and current_user.is_authenticated: postiv = PostInterviewCommunication( date_of_communication=postivform.date.data, author=current_user, program=program, type_of_communication=postivform.type_of_communication.data, personalized=postivform.personalized.data, content=postivform.content.data) db.session.add(postiv) db.session.commit() flash("Your post-interview impression is now live!") return redirect(url_for('main.program', program_id=program_id)) interview_impressions = program.interview_impressions.order_by( Interview_Impression.timestamp.desc()).paginate( page, current_app.config['POSTS_PER_PAGE'], False) next_url = url_for( 'main.program', id=program_id, page=interview_impressions.next_num ) if interview_impressions.has_next else None prev_url = url_for( 'main.program', id=program_id, page=interview_impressions.prev_num ) if interview_impressions.has_prev else None form = EmptyForm() return render_template( 'program.html', specialty2=specialty2, next_url=next_url, prev_url=prev_url, program=program, interviews=program.interviews, postform=postform, postivform=postivform, form=form, interview_impressions=interview_impressions.items, postiv_communications=program.postiv_communications.order_by( PostInterviewCommunication.timestamp.desc()))
def user(username): user = User.query.filter_by(username=username).first_or_404() post_form = PostForm() if post_form.validate_on_submit(): post = Post(body=post_form.post.data, author=current_user) db.session.add(post) db.session.commit() flash(_('Your blog is now live')) return redirect(url_for('main.user', username=current_user.username)) posts = user.posts.order_by(Post.timestamp.desc()) form = EmptyForm() return render_template('user.html', user=user, form=form, post_form=post_form, \ posts=posts)
def user(username): '''route to show a user's profile with user details follow and unfollow links, and a preview of their posts''' user = User.query.filter_by(username=username).first_or_404( ) #find query or else raise a 404 error page = request.args.get('page', 1, type=int) posts = user.posts.order_by(Post.timestamp.desc()).paginate( 1, 5, False) #paginates and find the newest five comments form = EmptyForm() return render_template('user.html', user=user, posts=posts.items, form=form, username=username)
def user(username): user = User.query.filter_by(username=username).first_or_404() # posts = Post.query.filter_by(user_id=user.id) # posts = user.posts page = request.args.get('page', 1, type=int) posts = Post.query.filter_by(user_id=user.id).paginate( page, current_app.config['POSTS_PER_PAGE'], False) next_url = url_for('main.user', username=username, page=posts.next_num) \ if posts.has_next else None prev_url = url_for('main.user', username=username, page=posts.prev_num) \ if posts.has_prev else None form = EmptyForm() return render_template('user.html', user=user, posts=posts.items, form=form, next_url=next_url, prev_url=prev_url)
def follow(username): form = EmptyForm() if form.validate_on_submit(): user = User.query.filter_by(username=username).first() if user is None: flash('User {} not found.'.format(username)) return redirect(url_for('main.index')) if user == current_user: flash('You cannot follow yourself!') return redirect(url_for('main.user', username=username)) current_user.follow(user) db.session.commit() flash('You are following {}!'.format(username)) return redirect(url_for('main.user', username=username)) return redirect(url_for('main.index'))
def unfollow(username): form = EmptyForm() if form.validate_on_submit(): user = User.query.filter_by(username=username).first() if user is None: flash("User {} not found".format(username)) return redirect(url_for("main.index")) if user == current_user: flash("You cannot unfollow yourself") return redirect(url_for("main.user", username=username)) current_user.unfollow(user) db.session.commit() flash("You are not following {}".format(username)) return redirect(url_for("main.user", username=username)) return redirect(url_for("main.index"))
def explore(): empty_form = EmptyForm() page = request.args.get('page', 1, type=int) posts = Post.query.order_by(Post.timestamp.desc()).paginate( page, current_app.config['POSTS_PER_PAGE'], False) next_url = url_for('main.explore', page=posts.next_num) \ if posts.has_next else None prev_url = url_for('main.explore', page=posts.prev_num) \ if posts.has_prev else None return render_template('index.html', title=_('Explore'), posts=posts.items, next_url=next_url, prev_url=prev_url, empty_form=empty_form)
def unfollow(username): form = EmptyForm() if form.validate_on_submit(): user = User.query.filter_by(username=username).first() if not user: flash(_('Usuário %(username)s não encontrado!', username=username)) return redirect(url_for('main.index')) if user == current_user: flash(_('Função não permitida para seu próprio perfil!')) return redirect(url_for('main.user', username=username)) current_user.unfollow(user) db.session.commit() flash(_('Você deixou de seguir %(username)s.', username=username)) return redirect(url_for('main.user', username=username)) else: return redirect(url_for('main.index'))
def follow(username): form = EmptyForm() if form.validate_on_submit(): user = User.query.filter_by(username=username).first() if not user: flash(_('Usuário %(username)s não encontrado.', username=username)) return redirect(url_for('main.index')) if user == current_user: flash(_('Ops, você não pode se seguir!')) return redirect(url_for('main.user', username=username)) current_user.follow(user) db.session.commit() flash(_('Você está seguindo %(username)s!', username=username)) return redirect(url_for('main.user', username=username)) else: return redirect(url_for('main.index'))