Python配置Flask及简单使用

本文介绍了如何在Pycharm中安装Flask,并通过一个简单的示例演示了Flask的基本使用,包括路由设置、调试模式、URL变量、URL跳转以及处理Get请求。还提到了Flask绑定特定IP的方法。

一、安装Flask

  本文这里直接是在Pycharm上安装的Flask框架, 在终端上,执行如下命令,安装Flask:

pip install Flask

  安装成功后,会有Successfully installed字样输出,如下所示:
在这里插入图片描述

二、创建一个简单示例

  代码如下所示:

# coding = urf-8
from flask import Flask

app = Flask(__name__)
app.debug=True

@app.route('/')
def hello_world():
    return 'Hello World'
    
if __name__ == '__main__':
    app.run()

  注意,这里有一句话:“app.debug=True”,这句话是开启Flask的调试模式,如果不开启,很多调试信息都不会输出。这句话可以放在app.run()中,如下所示:

app.run(debug=True)

  这里运行起来后,在调试窗口下可以看到如下输出:
在这里插入图片描述
  在浏览器中访问这个网址,如下:
在这里插入图片描述

三、Flask说明

  ①如何指定Flask绑定特定IP,因为默认绑定的是127.0.0.1?实现方法其实就是在app.run()函数中指定即可,如下所示:

app.run(host='0.0.0.0', debug=True)

  ②Flask的路由是由@app.route(‘path’)中指定path来决定的。例如如下所示的路由:

@app.route('/hello')
@app.route('/get.html')
@app.route('/post.html')

  默认情况下,路由的方法只支持Get请求,如果要支持其他请求,需要在route里面增加参数,如下所示设置请求支持Get和Post请求:

@app.route('/request', methods = ['GET', 'POST'])

  这里不得不提路由里面的变量,比如如下代码:

@app.route('/system/<string:_str>')
def show_request_param(_str):
    print(_str)
    return ''.join(_str)

  然后在浏览器中随意输入网址,例如如下所示:

http://127.0.0.1:5000/system/abcdef

  浏览器中自然就出现了abcdef,如下所示:
在这里插入图片描述
  这里string:_str成为路径变量,Flask中支持的路径变量总结一下如下表所示:

转换器作用
string默认选项,接受除了斜杠外的字符串
int接受整数
float接受浮点数
path和string一样,但是可以接受斜杠字符串

  ③URL跳转,比如有时候某一个url请求,在后台处理时,需要跳转到另一个接口上实现,在Flask中可以使用url_for方法,在Flask中重定向代码用redirect函数,代码如下所示:

from flask import Flask, url_for, redirect
app = Flask(__name__)

@app.route('/test2')
def test_sub():
    return 'hello world'
    
@app.route('/test1')
def test_main():
    return redirect(url_for('test2'))

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

  这里由test1重定向到url_for构造出来的新的url地址test2上去,然后返回"hello world"。网页上测试如下所示:
在这里插入图片描述
  这样可以很方便的实现变相的多级路由功能了。
  ④去除Get请求url后面的参数,示例代码如下所示:

@app.route('/request',methods=['GET','POST'])
def test_main():
    if request.method == 'GET':
        get_one=request.args.get('one','')
        print(get_one)
    else:
        get_json=request.json
        print(get_json)
    return "Ok"

  然后在浏览器中输入url如下所示:

http://127.0.0.1:5000/request?one=aaabbb

  然后看get_one的值,如下所示:
在这里插入图片描述
  取Json方法一样的,这里不赘述了。


四、其他说明

  例如Flask模板、Cookie等用法,这里不收录,因为学习Flask是用来提供restful接口的,这些暂时用不上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值