文章目录
1.写路由的注意点
- 1.写路由的注意点
- 2.flask写路由的两种方式
- 3.反向获取url
- 4.路由传参
- 5.路由的跳转
- url应该以/ 开头
- url写法 标准的是
/ url /
- 视图函数不能重名
- 习惯: 将视图函数的名字命名为 路由的名字
方式一:装饰器法
@app.route('/index')
def index():
return 'hello world'
方法二:在外边实现源码的方法
查看route的源码,发现实际就是往路由方法里添加参数
def hello():
return 'hello'
app.add_url_rule(rule='/hello', view_func=hello)
3.反向获取url
- 问题:当我们想在py文件中的函数内获取url的值
- 解决:导入url_for模块,在route中通过endpoint给url起别名,通过模块url_for来获取
from flask import Flask, url_for
app = Flask(__name__)
# endpoint相当于给url起了别名,通过模块url_for来获取
@app.route('/index',endpoint='name1')
def index():
print(url_for('name1'))
print(url_for('name2'))
return 'hello world'
@app.route('/login',endpoint='name2')
def login():
return 'hello world'
if __name__ == '__main__':
app.run(debug=True)
一运行index页面,显示结果
叫转换器语法 默认为string类型
①举例----默认传入字符串
②举例----改变默认传入的类型 ③举例----传入path
④举例----传入uuid
问题:比如我们以前开发了一个网站,网址是index,但是现在更新了,网址变为new_index,那么我们如何让以前的老用户输入原来的网址index,却进入我们的新的new_index页面呢?
from flask import Flask
app = Flask(__name__)
@app.route('/index/',redirect_to='/new_index/')
def index():
return '老页面'
@app.route('/new_index/')
def login():
return '新页面'
if __name__ == '__main__':
app.run(debug=True)