Python 3.x 如何实现request.args.get(';next';)
我正在尝试实现我在社交媒体平台上看到的一个功能,在这种情况下,如果一个未登录的用户想要发布或留下评论,就会出现一个登录弹出窗口(在我的情况下是一个模式),他们需要登录,(如果他们没有帐户,模式也会提示他们注册),然后他们被重定向到那个帖子,现在可以发表评论了 这是我的主页路线视图功能Python 3.x 如何实现request.args.get(';next';),python-3.x,http,flask,flask-wtforms,Python 3.x,Http,Flask,Flask Wtforms,我正在尝试实现我在社交媒体平台上看到的一个功能,在这种情况下,如果一个未登录的用户想要发布或留下评论,就会出现一个登录弹出窗口(在我的情况下是一个模式),他们需要登录,(如果他们没有帐户,模式也会提示他们注册),然后他们被重定向到那个帖子,现在可以发表评论了 这是我的主页路线视图功能 @app.route("/",methods=['GET','POST']) @app.route("/home",methods=['GET','POST']) def home(): posts = P
@app.route("/",methods=['GET','POST'])
@app.route("/home",methods=['GET','POST'])
def home():
posts = Pitch.query.all()
comments = Comment.query.all()
registerForm = Register()
if registerForm.validate_on_submit():
hashed_password = bcrypt.generate_password_hash(registerForm.password.data).decode('utf-8')
user = User(username = registerForm.username.data, email = registerForm.email.data, password = hashed_password)
db.session.add(user)
db.session.commit()
flash(f'Your account has been created! You are now able to login!','success')
mail_message("Welcome to watchlist","templates/email/welcome_user",user.email,user=user)
return redirect(url_for('home'))
form = Login()
if form.validate_on_submit():
user = User.query.filter_by(email=form.email.data).first()
if user and bcrypt.check_password_hash(user.password,form.password.data):
login_user(user, remember=form.remember.data)
next_page = request.args.get('next')
return redirect(next_page) if next_page else redirect(url_for('circles'))
else:
flash('Login Unsuccessful. Please check email and password','danger')
return render_template('home.html', title='login',form=form, registerForm=registerForm ,posts=posts, comments=comments)
下面是我个人的post-view函数
@app.route("/post/<int:post_id>",methods=['GET','POST'])
def post(post_id):
review= CommentForm()
comments = Comment.query.all()
post = Pitch.query.get_or_404(post_id)
if review.validate_on_submit():
comment = Comment(body= review.comment.data,post_id=post.id )
db.session.add(comment)
db.session.commit()
flash('Your post has been created!','success')
return redirect(url_for('post',post_id=post.id))
return render_template('post.html',title = post.title, post=post,review=review, comments = comments )
@app.route(“/post/”,方法=['GET','post'])
def post(post_id):
review=CommentForm()
comments=Comment.query.all()
post=Pitch.query.get_或_404(post_id)
如果审查。在提交()时验证:
comment=comment(body=review.comment.data,post\u id=post.id)
db.session.add(注释)
db.session.commit()
flash(“您的帖子已经创建!”,“成功”)
返回重定向(url_for('post',post_id=post.id))
返回呈现模板('post.html',title=post.title,post=post,review=review,comments=comments)
以下是我的主页模板片段:
{%for posts in posts%}
{{post.date_post.strftime(“%Y-%m-%d”)}
{{post.content}}
{%如果当前用户是经过身份验证的%}
{%else%}
{%endif%}
{%endfor%}