python的flask框架怎么跳转到别的页面_[已解决]Flask的Jinja中如何实现页面跳转...

在Flask应用中,使用Jinja模板进行页面跳转通常涉及`url_for()`函数。本文介绍了如何在HTML模板中使用`url_for('creatEvent')`触发路由,并在`views.py`中定义对应的路由处理函数,通过`render_template`返回模板并传递参数。当请求方法为POST时,使用`redirect(url_for('index'))`进行页面重定向。详细步骤和示例代码帮助理解Flask中页面跳转和参数传递的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前静态页面中,是通过:

实现页面跳转的到:

creatEvent.html

但是现在在Flask中,点击无效。

且希望,同时传递对应的参数user_openid

Flask jinja 页面跳转

Flask jinja jump page

Flask jinja redirect  page

jinja redirect  pageredirect(url_for(‘foo’))

但是是在.py中实现的。

此处是需要在template的html中实现页面跳转

->好像是:

template的html中,用:

url_for(“creatEvent")

然后在views.py中加上对应的路由,在路由中,render_templte

->果然是这个思路

但是还是不会传递参数啊

jinja redirect url_for

然后此处,可以实现页面跳转了:

/Users/crifan/dev/dev_root/daryun/SIPEvents/sourcecode/flask/sipevents/templates/index.html

然后,对应的

/Users/crifan/dev/dev_root/daryun/SIPEvents/sourcecode/flask/sipevents/views.py@app.route(‘/creatEvent’, methods=[‘GET’, ‘POST’])

def creatEvent():

requestMethod = request.method

app.logger.debug(‘requestMethod=%s’, requestMethod)

requestArgs = request.args

app.logger.debug(‘requestArgs=%s’, requestArgs)

curUser = request.args.get("curUser", "")

app.logger.debug(‘curUser=%s’, curUser)

if request.method == ‘POST’:

return redirect(url_for(‘index’))

else:

return render_template("creatEvent.html", curUser = curUser)

然后对于页面:

点击右上角的加号,可以接收到对应的参数,且是GET方法,

可以从对应的打印出来的log中看出来:DEBUG in views [/root/html/SIPEvents/sipevents/views.py:298]:

requestMethod=GET

DEBUG in views [/root/html/SIPEvents/sipevents/views.py:300]:

requestArgs=ImmutableMultiDict([(‘curUser’, u"")])

DEBUG in views [/root/html/SIPEvents/sipevents/views.py:302]:

curUser=

对应的跳转到新页面:

然后也是可以接收到对应的传入到参数:curUser对象的。

[总结]

Flask的Jinja中,从页面1,比如index.html,跳转到新页面页面2,比如createEvent,可以:

1.在template的html中,用:

2.在对应的Flask的路由,比如views.py中,加上对应的路由

然后其中可以调用render_template,加上对应的页面的2的模板,就可以跳转页面了:@app.route(‘/creatEvent’, methods=[‘GET’, ‘POST’])

def creatEvent():

requestMethod = request.method

app.logger.debug(‘requestMethod=%s’, requestMethod)

requestArgs = request.args

app.logger.debug(‘requestArgs=%s’, requestArgs)

value1 = request.args.get("parameter1", "")

app.logger.debug(‘value1=%s’, value1)

if request.method == ‘POST’:

return redirect(url_for(‘index’))

else:

return render_template("creatEvent.html", curUser = curUser)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值