首页
url与视图函数的映射是通过@app.route()
装饰器实现的。
只有一个斜杠代表的是根目录——首页。
传参
URL传参是通过<参数名称>
的形式进行传递。URL中有几个参数,在视图函数中也要指定几个参数
1. from flask import Flask 2. app = Flask(__name__) 3. app.debug = True 4. @app.route('/') 5. def hello_world(): 6. 7. return 'Hello World!' 8. 9. @app.route('/content/<username>/<password>/') 10. def login(username, password): 11. 12. return u'我的用户名是:%s,密码是:%s' % (username, password) 13. if __name__ == '__main__': 14. app.run()
URL数据类型
1)如果没有指定,默认是
string
类型2)string:字符串,接收任何没有斜杠/的字符。
3)int:整型
4)float:浮点类型
5)path:和string类似,但是可以接收斜杠/
6)uuid:只接收uuid字符串
7)any:可以指定多个路径
不符合的类型将返回 not found
uuid
1. from flask import Flask 2. import uuid 3. app = Flask(__name__) 4. 5. @app.route('/') 6. def hello_world(): 7. return 'Hello World!' 8. 9. @app.route('/content/<uuid:username>/') 10. def login(username): 11. return u'我的用户名是:%s' % (username) 12. 13. if __name__ == '__main__': 14. app.run()
get传参
1. from flask import Flask,request 2. 3. app = Flask(__name__) 4. 5. @app.route('/') 6. def hello_world(): 7. return 'welcome to coleak' 8. 9. @app.route('/blog/<int:blog_id>') 10. # string int float path uuid any 11. def blog_detail(blog_id): 12. return f"博客id是{blog_id}" 13. @app.route('/book/list') 14. def booklist(): 15. page=request.args.get('page',default=1,type=int) 16. return f"您获取的是第{page}页数据。" 17. 18. if __name__ == '__main__': 19. app.run()
错误时默认为default设置的值