Flask web开发之路三
Posted 嶙羽
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask web开发之路三相关的知识,希望对你有一定的参考价值。
今天写一个URL传参、反转URL、页面跳转和重定向
URL传参
主app文件代码:
from flask import Flask app = Flask(__name__) @app.route(\'/\') def hello_world(): return \'Hello World!\' @app.route(\'/article/<id>\') def article(id): return \'您请求的参数是: %s\' %id if __name__ == \'__main__\': app.run()
### url传参数:
1. 参数的作用:可以在相同的URL,但是指定不同的参数,来加载不同的数据。
2. flask中如何使用参数:
\'\'\'
@app.route(\'/article/<id>\')
def article(id):
return \'您请求的参数是: %s\' %id
\'\'\'
* 参数需要放在两个尖括号中。
* 视图函数中需要放和url中的参数同名的参数
反转URL
首先,正转是指由URL中的参数得到视图函数中的内容,那么反转就是指从视图函数得到URL的参数内容
代码如下:
from flask import Flask,url_for app = Flask(__name__) @app.route(\'/\') def index(): print(url_for(\'my_list\')) print(url_for(\'article\',id =\'abc\')) return \'Hello World!\' @app.route(\'/list/\') def my_list(): return \'list\' @app.route(\'/article/<id>/\') def article(id): return \'您请求是id是:%s\' % id if __name__ == \'__main__\': app.run(debug=True)
输出得到:
注意,这里article函数,有id参数,在url_for函数中需要传入参数,否则会报错
### 反转url:
1. 什么叫做反转url:从视图函数到URL的转换叫做反转url
2. 反转url的用处:
* 在页面重定向的时候,会使用url反转
* 在模板中,也会使用url反转
页面跳转和重定向
代码如下:
from flask import Flask,redirect,url_for app = Flask(__name__) @app.route(\'/\') def index(): login_url = url_for(\'login\') return redirect(login_url) return \'这是首页!\' @app.route(\'/login/\') def login(): return \'这是登录页面!\' @app.route(\'/question/<is_login>/\') def question(is_login): if is_login == \'1\': return \'这是发布问答页面\' else: return redirect(url_for(\'login\')) if __name__ == \'__main__\': app.run(debug = True)
这里实现的功能是:
1.登录主页即可跳转到\'login\'登录页面
2.如果\'is_login’这个参数不为1,则会跳转到登录页面
### 页面跳转和重定向
1. 用处:在用户访问一些需要登录的页面的时候,如果用户满意登录,那么可以让他重定向到登录页面
2.代码实现:
\'\'\'
from flask import redirect,url_for
redirect(url_for(\'login\'))
\'\'\'
以上是关于Flask web开发之路三的主要内容,如果未能解决你的问题,请参考以下文章