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) 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 return render_template('user.html', user=user, posts=posts.items, form=form, next_url=next_url, prev_url=prev_url)
def user(username): user = User.query.filter_by(username=username).first_or_404() page = request.args.get('page', 1, type=int) holdings = user.holdings.order_by(Holding.value.desc()).paginate( page, current_app.config['POSTS_PER_PAGE'], False) next_url = url_for('main.user', username=user.username, page=holdings.next_num) if holdings.has_next else None prev_url = url_for('main.user', username=user.username, page=holdings.prev_num) if holdings.has_prev else None form = EmptyForm() return render_template('user.html', user=user, holdings=holdings.items, next_url=next_url, prev_url=prev_url, form=form)
def user(username): user = User.query.filter_by(username=username).first_or_404() verified = user.verified staff = user.Staff 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() if current_user.hindi != True: return render_template('user.html', user=user, posts=posts.items, next_url=next_url, prev_url=prev_url, form=form,verified=verified,staff=staff,dm=current_user.darkmode) else: return render_template('Hindi/user.html',user=user, posts=posts.items, next_url=next_url, prev_url=prev_url, form=form,verified=verified,staff=staff,dm=current_user.darkmode)
def user(username): user = User.query.filter_by(username=username).first_or_404() page = flask.request.args.get("page", 1, type=int) posts = user.posts.order_by(Post.timestamp.desc()).paginate( page, flask.current_app.config["POSTS_PER_PAGE"], False) next_url = flask.url_for("main.user", username=user.username, page=posts.next_num) if posts.has_next else None prev_url = flask.url_for("main.user", username=user.username, page=posts.prev_num) if posts.has_prev else None form = EmptyForm() return flask.render_template("main/user.html", title="My Profile", 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 = user.posts.order_by(Post.timestamp.desc()).paginate( page, current_app.config['POSTS_PER_PAGE'], False) next_url = url_for('user', username=user.username, page=posts.next_num) \ if posts.has_next else None prev_url = url_for('user', username=user.username, page=posts.prev_num) \ if posts.has_prev else None #posts = current_user.followed_posts().all() #posts = [ # {'author': user, 'body': 'Test post #1'}, # {'author': user, 'body': 'Test post #2'} # ] form = EmptyForm() return render_template('user.html', user=user, posts=posts.items, next_url=next_url, prev_url=prev_url, form=form)
def chats(): form = EmptyForm() # user = User.query.filter_by(username='******').first_or_404() # chat = Chat(author=user, recipient=current_user, # body="Test message Two") # db.session.add(chat) # db.session.commit() # messages_received = current_user.messages_received.order_by( # Chat.timestamp.desc()) # messages_sent = current_user.messages_sent.order_by( # Chat.timestamp.desc()) messages = db.session.query(Chat).filter(or_(Chat.recipient_id == current_user.id, Chat.sender_id == current_user.id)).order_by( Chat.timestamp.asc()) print (messages.all()) if messages.count() == 0: messages = "" following = current_user.followed followers = current_user.followers contacts = followers.union(following) if request.method == "POST": session['name'] = request.form['username'] session['room'] = request.form['username']+'-'+current_user.username name = session.get('name', '') room = session.get('room', '') print(name, room) # print ((followers.union(following)).all()) # user = User.query.filter_by(username=recipient).first_or_404() # form = MessageForm() # if form.validate_on_submit(): # msg = Message(author=current_user, recipient=user, # body=form.message.data) # db.session.add(msg) # user.add_notification('unread_message_count', user.new_messages()) # db.session.commit() # flash(_('Your message has been sent.')) # return redirect(url_for('main.user', username=recipient)) # return render_template('chats.html', title=_('Send Message'), form=form, recipient=recipient) return render_template('chats.html', title=_('Chats - Hikanotes'), form=form, messages=messages, contacts=contacts, name=name, room=room)
def index(): post_form = PostForm() empty_form = EmptyForm() if post_form.validate_on_submit(): create_post(body=post_form.post.data) return redirect(url_for('main.index')) page = request.args.get('page', 1, type=int) posts = current_user.followed_posts().paginate( page, current_app.config['POSTS_PER_PAGE'], 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 return render_template('index.html', title=_('Home'), post_form=post_form, empty_form=empty_form, posts=posts.items, next_url=next_url, prev_url=prev_url)
def post_info(post_id): page = request.args.get('page', 1, type=int) post = Post.query.filter_by(id=post_id).first_or_404() emp_form = EmptyForm() form = CommentForm() if form.validate_on_submit(): language = Translator().detect(form.comment.data).lang comment = Post(body=form.comment.data, author=current_user, language=language, parent_id=post_id) db.session.add(comment) db.session.commit() flash('Your comment is now live!') return redirect(url_for('main.post_info', post_id=post_id)) comments = post.comments.order_by(Post.timestamp.desc()).paginate( page, current_app.config['POSTS_PER_PAGE'], False) next_url = url_for('main.post_info', post_id=post_id, page=comments.next_num) \ if comments.has_next else None prev_url = url_for('main.post_info', post_id=post_id, page=comments.prev_num) \ if comments.has_prev else None return render_template('post_info.html', title=post.author.username + "'s Post", post=post, form=form, emp_form=emp_form, comments=comments.items, next_url=next_url, prev_url=prev_url)
def user(username): user = User.query.filter_by(username=username).first_or_404() # 获得路由参数,默认为1 page = request.args.get('page', 1, type=int) #paginate数据库的分页功能, #参数,page:从第几页开始,app.config['POSTS_PER_PAGE']:每页页数,False:返回超出范围的空列表 posts = user.posts.order_by(Post.timestamp.desc()).paginate( page, current_app.config['POSTS_PER_PAGE'], False) # 如果posts.has_next为空,返回None 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', user=user, posts=posts.items, next_url=next_url, prev_url=prev_url, form=form)
def add_quizzer(message): """When a quizzer is added every other user requests this. Render the new user tile (which adds 'remove' button if quizmaster). Sends the user tile back to each individual user (except new user). """ if current_user.is_authenticated: remove_quizzer_form = EmptyForm() quiz = Quiz.query.filter_by(id=current_user.quizid).first_or_404() user = User.query.filter_by( username=message['new_user']).first_or_404() quizzers = render_template('_user_tile.html', logged_in_user=user, remove_quizzer_form=remove_quizzer_form, quiz=quiz) new_user_sessionid = message['new_user_sessionid'] this_session_id = request.sid emit('add_quizzer', { 'quizzers': quizzers, 'new_user': message['new_user'] }, room=this_session_id, skip_sid=new_user_sessionid)
def user(username): user = User.query.filter_by(username=username).first_or_404( ) # either finds the user's profile or returns a 404 error 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 #next_url is assigned the link to the next page, if no next page available, link is not shown prev_url = url_for('main.user', username=user.username, page=posts.prev_num) \ if posts.has_prev else None #prev_url is assigned the link to the prev page, if no previous page available, link is not shown form = EmptyForm() DPForm = DeletePostForm() UDForm = UpdatePostForm() return render_template( 'user.html', title=_("%(username)s's Profile", username=user.username.title()), user=user, posts=posts.items, next_url=next_url, prev_url=prev_url, form=form, DPForm=DPForm, UDForm=UDForm ) #colored 'user' contains all the user's data and colored 'posts' contains all the user's posts. Both 'user' and 'posts' can be accessed by 'user.html' to print data to the page usually using the "." operator
def user_popup(username): user = User.query.filter_by(username=username).first_or_404() form = EmptyForm() return render_template('user_popup.html', user=user, form=form)
def user(username): user = User.query.filter_by(username=username).first_or_404() page = request.args.get('page', 1, type=int) show = request.args.get('show') if show is not None and current_user.username != username: return redirect(url_for('main.user', username=user.username)) if show in [None, 'following', 'followers', 'likes', 'comments']: if show is None: items = user.get_posts().order_by(Post.timestamp.desc()).paginate( page, current_app.config['POSTS_PER_PAGE'], False) if current_user.username != username: title = user.username + "'s Profile" else : title = 'Your Posts' list_type = 'post' pag_text = ('Older posts', 'Newer posts') id = 1 elif show == 'following': items = user.followed.order_by(User.username.asc()).paginate( page, current_app.config['POSTS_PER_PAGE'], False) title = 'Who You Follow' list_type = 'user' pag_text = ('Previous Page', 'Next Page') id = 2 elif show == 'followers': items = user.followers.order_by(User.username.asc()).paginate( page, current_app.config['POSTS_PER_PAGE'], False) title = 'Who Follows You' list_type = 'user' pag_text = ('Previous Page', 'Next Page') id = 3 elif show == 'likes': items = user.liked_posts.order_by(Post.timestamp.desc()).paginate( page, current_app.config['POSTS_PER_PAGE'], False) title = 'Posts You Like' list_type = 'post' pag_text = ('Older posts', 'Newer posts') id = 4 else: items = user.get_comments().order_by(Post.timestamp.desc()).paginate( page, current_app.config['POSTS_PER_PAGE'], False) title = 'Your Comments' list_type = 'post' pag_text = ('Older comments', 'Newer comments') id = 5 if show is None: next_url = url_for('main.user', username=user.username, page=items.next_num) \ if items.has_next else None prev_url = url_for('main.user', username=user.username, page=items.prev_num) \ if items.has_prev else None else: next_url = url_for('main.user', username=user.username, show=show, page=items.next_num) \ if items.has_next else None prev_url = url_for('main.user', username=user.username, show=show, page=items.prev_num) \ if items.has_prev else None form = EmptyForm() return render_template('user.html', title=title, user=user, items=items.items, item_type=list_type, pag_text=pag_text, id=id, next_url=next_url, prev_url=prev_url, form=form) else: return redirect(url_for('main.user', username=user.username))
def user(username): user = User.query.filter_by(username=username).first_or_404() posts = Post.query.filter_by(author=user) form = EmptyForm() return render_template('user.html', user=user, posts=posts, form=form)