python中Flask框架的使用

先简单说下安装:

在cmd中输入:pip install flask

安装成功后就可以导入使用。

先写个简单的Flask程序:

import flask  #导入flask类
server = flask.Flask(__name__)  #创建Flask类的实例,

@server.route('/api/reg/<username>', methods=['get', 'post'])   #定义URL,及访问接口的方式,URL中带有参数username
def reg(username):
    return 'user is %s' % username   #返回要显示在用户浏览器中的信息

server.run(debug=True)  #设置每次修改代码后无需手动重启,服务器会自动重新加载,并在错误时提供一个调试器

最后一行设置debug参数也可以使用server.debug = True的方式设置。

上面的服务启动后,在浏览器里输入:http://127.0.0.1:5000/api/reg/luotuofeile,运行结果:

1,上述代码里给URL添加了变量,<variable_name>将会作为命名参数传递到函数,也可以使用<converter:variable_name>指定参数类型,常用的有:

int: 接受整数

float: 接受浮点数

path: 路径,接受斜线。

@server.route('/api/<path:path1>')
def show_path(path1):
    return 'path %s' % path1

2,上述接口请求方式为 methods=['get', 'post'],既可以使用get方式请求,也可以使用post方式请求,下面来说下接口包含参数的情况。编写一个登录接口:

@server.route('/api/login', methods=['get', 'post'])   #定义URL,及访问接口的方式
def login():
    users = {'user1': 123456, 'user2': 111111, 'user3': 098765} #定义所有用户
    name = flask.request.values.get('username') #获取用户传递的参数usernam,赋值给变量name
    password = flask.request.values.get('password') #获取用户传递的参数password,赋值给变量password
    if name and password:
        if name not in users:
            d1 = {"status": 10010, "msg": "该用户不存在!"}
            return json.dumps(d1, ensure_ascii=False, indent=4) #返回显示的内容
        elif password != users[name]:
            d1 = {"status": 10020, "msg": "密码错误!"}
            return json.dumps(d1, ensure_ascii=False, indent=4) #返回显示的内容
        else:
            d1 = {"status": 200, "msg": "登录成功!"}
            return json.dumps(d1, ensure_ascii=False, indent=4) #返回显示的内容
    else:
        d1 = {"status": 10030, "msg": "参数不能为空!"}
        return json.dumps(d1, ensure_ascii=False, indent=4) #返回显示的内容

上述接口可以使用get方式请求,在URL里拼接参数即:http://127.0.0.1:5000/api/login?username=user1&password=123456

 

也可以使用post方式请求,使用postman请求结果:

 

3,上面我们访问接口本机访问本机IP,那么如何让同一局域网的电脑也能访问该接口呢,答案很简单,在调用run方法时设置即可。

server.run('0.0.0.0', port=8000, debug=True)

'0.0.0.0'监听了所以IP后,同时设置了端口号为8000。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值