实现页面跳转的到:
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,可以:
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)