首页 > 代码库 > flask_之URL
flask_之URL
URL篇
静态路由
@app.route(‘/‘) def hello_world(): # 变量可以通过赋值传到前端,前端可以通过{{}}渲染 return render_template(‘t1.html‘, name=‘t1‘, age=16) @app.route(‘/services‘) def services(): return ‘Services‘ @app.route(‘/about‘) def about(): return ‘About‘ # 相对projects解释类似于文件夹解释形式,指向某一个文件夹下的某个文件 @app.route(‘/projects/‘) @app.route(‘/projects_our‘) # 可以定义多个URL到同一个视图函数上,Flask支持 def projects(): return ‘Projects‘ @app.route(‘/login‘,methods=["GET","POST"]) def login(): return render_template(‘login.html‘, req_method=request.method)
动态路由
# 动态路由 @app.route(‘/user/<username>‘) def user(username): print username return username # 路由转换器:指定参数类型 # flask提供3种:int(整形)|float(浮点型)|path(路径,并支持一个/) @app.route(‘/user/<int:user_id>‘) def user(user_id): print user_id return ‘User_id:%s‘%user_id
自定义路由规则
# flask不提供正则表达的形式的URL匹配 # 可通过定义完成 # 1、from werkzeug.routing import BaseConverter # 2、自定义类 #转换器 class RegexConverter(BaseConverter): def __init__(self,url_map,*items): super(RegexConverter,self).__init__(self) # print items # (u‘[a-z]{3}[A-Z]{3}‘,) # print url_map # URL 的一个MAP对象,类似路由表 self.regex = items[0] # 3、要将定义的类注册到APP的url_map中,定义名称 # app.url_map.converters[‘regex‘] = RegexConverter # 4、使用 @app.route(‘/user/<regex("[a-z]{3}[A-Z]{3}"):username>‘) def user(username): print username return ‘Username:%s‘ % username
flask_之URL
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。