flask常用函数之route()

一、route()路由

功能:将URL绑定到函数

用法:

@app.route(url, methods=['GET', 'POST'])   #url必填,methods非必填
def view_func():
    # 处理请求并返回响应

二、路由函数route()的使用

路由函数route()的调用有两种方式:静态路由和动态路由

方式1:静态路由

@app.route(“/xxx”) xxx为静态路径 如::/index ,可以返回一个值、字符串、页面等

from flask import Flask
app = Flask(__name__)

@app.route('/hello')
def hello_world():
    return 'Hello World'
    
@app.route('/hello')
def index():
    return render_template('hello.html')

if __name__ == '__main__':
    app.run(debug = True)

方式2:动态路由

采用<>中标记变量动态构造url地址

@app.route(“/”),这里xxx为不确定的路径

from flask import Flask
app = Flask(__name__)

@app.route('/flaskStudy/<name>')
def hello_name(name):
   return 'Hello %s!' % name

if __name__ == '__main__':
   app.run(debug = True)

如果浏览器地址栏输入:http:// localhost:5000/flaskStudy/Jim
则会在页面显示:flaskStudy Jim!

<>中标记的变量,默认接收到的变量类型是string,可以框架自带的转换器,可以置于参数前将接收的参数转化为对应类型。如下:

string 接受任何不包含斜杠的文本
int 接受正整数
float 接受正浮点数
path 接受包含斜杠的文本
@app.route("/index/<int:id>",)
def index(id):
    if id == 1:
        return 'first'
    elif id == 2:
        return 'second'
    elif id == 3:
        return 'thrid'
    else:
        return 'hello world!'

if __name__=='__main__':
    app.run()

3、url地址更新

如果使用蓝图,蓝图中参数:url_prefix还可以统一调整url地址,格式如:form = Blueprint(‘formDis111’, name, url_prefix=“/news”)
则表示在该蓝图下,所有的url地址访问路径中都要加上xxx路径,即域名/xxx/路由

三、route()其它参数

methods: 当前视图函数支持的请求方式,不设置默认为GET;请求方式不区分大小写

  • methods=[‘GET’] 支持的请求方法为GET
  • methods=[‘POST’] 支持的请求方法为POST
  • methods=[‘GET’,‘POST’] 支持的请求方法为POST GET
  @app.route('/login', methods=['GET', 'POST'])  # 请求参数设置不区分大小写,源码中自动进行了upper
  def login():
      if request.method == 'GET':
          return render_template('login.html')
      elif request.method == 'POST':
          username = request.form.get('username')
          pwd = request.form.get('password')
          if username == 'admin01' and pwd== '123456':
              return 'login successed'
          else:
              return 'login failed!!!'
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值