flask框架基本使用

目录

  • 前言
  • 安装
  • 导入
  • hello world
    • flask项目文件目录
    • python文件内容示例
  • 配置
    • 修改app文件名,文件夹路径
    • 开启项目调试模式
    • 设置app运行的端口并开启调试
  • 处理GET请求
  • 处理POST请求
  • 处理表单数据
  • 处理JSON数据
  • Cookie
  • 返回JSON数据
  • CORS跨域处理
  • 返回http状态码



前言

官方文档:Flask Document

Flask可以搭建轻量api,而且使用python语言编写程序,非常方便。以前也使用过php做服务器后端,但是不喜欢php的$,而且我想多学学python,没想到Flask框架恰好能满足我的需求,简直是一个神器!特别适合我这种非计算机专业人士学习,能快速搭建api,为前端web、微信小程序等提供api服务,非常nice,爱了爱了


安装

pip3 install Flask

导入

from flask import Flask,request

hello world

flask项目文件目录

project/
    app/                    # 整个程序的包目录
        static/                 # 静态资源文件
            js/                     # JS脚本
            css/                    # 样式表
            img/                    # 图片
            favicon.ico              # 网站图标
        templates/              # 模板文件
            common/                 # 通用模板
            errors/                 # 错误页面
            user/                   # 用户模板
            posts/                  # 帖子模板
            email/                  # 邮件发送
        views/                  # 视图文件
        models/                 # 数据模型
        libs/                   #工具类
            framework/          #全局性的工具
            utils/              #小工具
        extensions/             # 各种扩展
        forms/                  # 表单文件
        main.py                # 邮件发送
    migrations/             # 数据库迁移目录
    tests/                  # 测试单元
    venv/                   # 虚拟环境
    requirements.txt        # 依赖包的列表
    config.py               # 配置文件
    manage.py               # 项目启动控制文件

python文件内容示例

from flask import Flask
 
app = Flask(__name__)
 
@app.route('/')
def hello_world():
    return 'Hello World!'
 
if __name__ == '__main__':
    app.run()

配置

修改app文件名,文件夹路径

在app实例化的时候设置

app = Flask("my-app", static_folder="path1", template_folder="path2")

开启项目调试模式

app.run(debug=True)

设置app运行的端口并开启调试

注意:如果在开发环境中debug,要在app.run前加上

app.env="development"

否则,会出现WARNING: This is a development server. Do not use it in a production deployment.

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

处理GET请求

要用flask的request

from flask import request

request.args.__str__() :列出所有参数
request.args.get('') :取出指定参数的第一个参数(如果有好多的话)
request.args.getlist('') :取出指定参数列表


处理POST请求

request.form.get("")

处理表单数据

@app.route('/api',methods=['GET','POST']) 
def api():
    #以下两行是展示form中处理文件以外的所有item
    # for item in request.form:
    #     print(item)
    d1 = request.form.get("l1")
    d2 = request.form.get("l2")
    d3 = request.form.get("l3")
    file = request.files.get('file') 
    print(file)
 	dict = {"code":"200","data":"处理完毕"}
    return jsonify(dict)

处理JSON数据

request.json # 返回的是dict类型

Cookie

读取cookie

name=request.cookies.get('Name')
return name

设置Cookie并返回

response.set_cookie('Name','value')
return response

返回JSON数据

方案一 (返回JSON对象,并设置请求头)

from flask import Response
return Response(json.dumps(text),  mimetype='application/json')

方案二(使用jsonify)

from flask import jsonify
return jsonify(text)

CORS跨域处理

from flask_cors import * # 没有库请安装
app = Flask("name")
CORS(app, supports_credentials=True)

返回http状态码

abort(404)

你可能感兴趣的:(笔记,python,flask,python,后端,api)