Python(Web时代)——初识flask

flask简介

介绍

Flask是一个用Python编写的Web 微框架,让我们可以使用Python语言快速实现一个网站或Web服务。它是BSD授权的,一个有少量限制的免费软件许可。它使用了 Werkzeug 工具箱和 Jinja2 模板引擎。

Flask 的设计理念是简单、灵活、易于扩展,它不会限制开发者的选择,可以根据开发者的需求选择各种第三方扩展来增加功能。同时也是一个年轻的框架,2010年诞生,拥有蓬勃发展的社区。

路由

路由是Web开发中一个很重要的概念,用来将不同的请求,映射到响应的处理方法上,使用的修饰器是 @app.route

可以通过 @app.route中的method属性来指定请求的方式,一般默认情况下,flask路由是get方式,使用post方式,需要显示声明

  • methods=[‘GET’] 支持的请求方法为GET

  • methods=[‘POST’] 支持的请求方法为POST

  • methods=[‘GET’,‘POST’] 支持的请求方法为POST GET

flask应用

通过pip来安装flask

pip install flask

检查安装是否成功,可在pthon中,直接import flask 运行一下,没有报错说明安装成功

图片

编写一个简单的web项目 (hello world)


from flask import Flask, request

# 创建一个flask 应用
app = Flask(__name__)


# 设置路由访问路径,项目根路径将访问以下index方法
@app.route("/")
def index():
    return "hello world!!!!"


@app.route("/test")
def test():
    return "hello world test!!!!"


if __name__ == '__main__':
    # 启动服务
    app.run()
    
 
 

运行python 脚本,出现以下信息,本机运行默认是用的 5000 端口

图片

浏览器访问 一  (根目录)

图片

浏览器访问 二  (test接口)

图片

可自定义ip地址和端口号

app.run(host="localhost",port=8888)

以上一个简单的web应用即搭建完成

如果你只想简单的发布一些接口到服务器上,此种方法非常合适!!

Flask请求

Web应用最重要的就是请求和响应,flask提供了 request 和 response对象来处理请求与响应

请求

在 Flask 中,请求信息都被封装到 request 对象中

常用属性如下

scheme  获取请求方案(协议)
method  获取本次请求的请求方式
request.args 获取使用get请求方式提交的数据
request.form  获取使用post请求方式提交的数据
request.values‍ 获取GET和POST请求方式提交的数据(GET和POST通用)
request.cookies 获取cookies中的信息
request.headers 获取请求消息头的信息
request.path 获取请求的url地址
request.files 获取用户上传的文件
request.full_path 获取请求的完整路径
request.url 获取访问地址

带参数请求的几种方式

方式一:(动态路由)通过url路径传参

@app.route("/login/<name>/<pwd>")
def login(name,pwd):
    print("用户名:%s,密码:%s" %(name,pwd))
    return "登录成功"
    
也 可以指定参数类型
@app.route("/login/<string:name>/<int:pwd>")
def login(name,pwd):
    print("用户名:%s,密码:%s" %(name,pwd))
    return "登录成功"

调用:

http://127.0.0.1:5000/login/aaa/22

方式二:传统get方式传参(url路径后拼接参数)

@app.route("/login2" , methods=['GET'])
def login2():
    name = request.args.get("name")
    pwd = request.args.get("pwd")
    print("用户名:%s,密码:%s" %(name,pwd))
    return "登录成功"

调用:

http://127.0.0.1:5000/login2?name=aaa&pwd=22

方式二:from表单提交

@app.route("/loginByFrom",methods=['POST'])
def loginByFrom():
    name = request.form.get("name")
    pwd = request.form.get("pwd")
    print("用户名:%s,密码:%s" %(name,pwd))
    return "登录成功"

调用:

图片

方式三:json数据提交

@app.route("/loginByJson")
def loginByJson():
    data = request.json
    name=data["name"]
    pwd = data["pwd"]
    print("用户名:%s,密码:%s" %(name,pwd))
    return "登录成功"

​​​​​​​调用:

图片

 程序猿与投资生活实录已改名为  程序猿知秋,WX 公众号同款,欢迎关注!

猜你喜欢

转载自blog.csdn.net/qq_25702235/article/details/131953547