【后端】Python中的Web开发框架Flask入门hello world;几个案例让你迅速入门Python Flask

说到web开发框架,小编平常用Flask和Django的比较多,其中的Flask属于是轻量级的开发框架,写一个API接口也是十分地方便。我们先要安装好需要用到的模块,通过pip命令:

pip3 install flask

而ASGI服务器可以使用uvicorn,那么同样地

pip3 install uvicorn

1. HelloWorld

我们先尝试用Flask框架来写一个HelloWorld,代码如下

from flask import Flask, request
import json
 
app = Flask(__name__)
 
@app.route('/')
def hello_world():
    return 'hello world'
 
if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8889)

运行后出现以下提示:
在这里插入图片描述
然后在浏览器当中输入弹出来的url去访问页面,如下所示就会出现含有“hello world”的页面
在这里插入图片描述

2. 返回随机数

我们在上面的“Hello World”的基础之上再来写几个案例,例如返回随机数的操作,在Flask框架当中的代码如下

@app.route('/random-number')
def random_number():
    return str(random.randrange(100))

我们在浏览器中测试一下出来的结果,如下所示

在这里插入图片描述

3. 判断是否都是由字母组成

接下来我们来看一下,当我们发送一个GET请求,判断当中的一个url请求参数是否都是由字母组成的,其中Flask框架当中的代码如下

@app.route('/alpha', methods=['GET'])
def alpha():
    text = request.args.get('text', '')
    result = {'text': text, 'is_alpha' : text.isalpha()}
    return jsonify(result)

我们在浏览器中测试一下出来的结果,如下所示
在这里插入图片描述

4. 创建新用户

上面的几个案例都是GET请求,下面我们来看一下POST请求该如何处理,例如我们想通过POST请求来创建一个新用户,在Flask框架中的代码如下

@app.route('/create-user', methods=['POST'])
def create_user():
    id = request.form.get('id', '0001')
    name = request.form.get('name', 'Anonymous')
    data = {'id': id, 'name': name}
    result = {'status_code': '0', 'status_message' : 'Success', 'data': data}
    return jsonify(result)

可以直接在Postman当中测试一下该API的功能,如下所示
在这里插入图片描述
我们需要在“methods”当中指定是用POST请求,而在FastAPI框架当中则不需要指定,直接只用app.post()装饰器即可

5. 返回静态页面

而要是碰到需要返回一个静态页面的时候,在Flask框架中的代码是这样子的

@app.route('/get-webpage', methods=['GET'])
def get_webpage():
    return render_template('flask_1.html', message="Contact Us")

6. 源代码汇总

from flask import Flask, request, render_template
import random
from flask import jsonify
import json
 
app = Flask(__name__)
 
@app.route('/')
def hello_world():
    return 'hello world'
 
@app.route('/random-number')
def random_number():
    return str(random.randrange(100))
 
@app.route('/alpha', methods=['GET'])
def alpha():
    text = request.args.get('text', '')
    result = {'text': text, 'is_alpha' : text.isalpha()}
    return jsonify(result)
 
@app.route('/create-user', methods=['POST'])
def create_user():
    id = request.form.get('id', '0001')
    name = request.form.get('name', 'Anonymous')
    data = {'id': id, 'name': name}
    result = {'status_code': '0', 'status_message' : 'Success', 'data': data}
    return jsonify(result)
 
@app.route('/get-webpage', methods=['GET'])
def get_webpage():
    return render_template('flask_1.html', message="Contact Us")
 
if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8889)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

别出BUG求求了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值