首页 > 其他分享 >flask flask-restful 前后端分离

flask flask-restful 前后端分离

时间:2024-10-16 16:13:50浏览次数:6  
标签:string flask fields app 分离 data import restful

 

前后端分离区别

#前后端不分离:
  render template('index.html',users=users)


#  前后端分离:
  后台返回json字符串 :  jsonify()

  前端用ajax 接受数据


 

Flask类视图 和 RESTfu  主要用于前后端分离

安装 flask-restful

pip install flask-restful

 目录重构

创建一个文件apis 文件

# apis 文件
from flask restful import Resource #类视图:CBV Class Based View #视图函数:FBV Function Based View class HelloResouce(Resource):   def get(self):     return'get请求   def post(self):     return'post请求

 exts 文件代码

# exts文件
from flask sqlalchemy import sQLAlchemy from flask migrate import Migrate from flask restful import Api # 引入库
db = SQLAlchemy() migrate = Migrate() api = Api()  // 创建库
def init_exts(app):   db.init_app(app=app)   migrate.init_app(app=app, db=db)
  # 初始化   api.init app(app=app)

 再创建一个路由文件  urls 文件

from .exts import api
from .apis import *
# 路由   前面定义的类    后面是路径
api.add_resource(HelloResouce, '/hello/')

 init 文件 代码

from flask import Flask
from .exts import init_exts   // 引入第三方插件
from .urls import *  // 必须导入路由

def create_app():   app = Flask(_name_)

 

app 文件代码

from App import create_app
app = create_app()
if __name__ = '__main__':
  app.run(debug=True)

  # 初始化插件
  init exts(app=app)
  return app

 


 

字段格式化

定义字段输出
  使用字典进行定义
  常用都是基本类型:string,Integer

#格式化字段
user_fields ={
  msg': fields.string,
  status':fields.Integer,
  data':fields.string(attribute='private data')
  default data': fields.string(default='1')

}

定义好的格式通过装饰器进行使用

  注意 , 格式化字段中  没有定义的字段, 返回数据中有的也不会显示 , 

     格式化字段中 , 有定义的, 返回数据中没有的 , 可以使用默认值 

# @marshal_with( 需要返回的数据格式 ) , return返回字典就ok了
class Users(Resource):
  @marshal_with(user_fields)
  def get(self):
    return{'msg':'呵呵','data':'没有数据','age':'22','private_data':'表中数据"}

字段格式化的  第二种方式  是一个对象  data': fields.Nested(user_fields)

# 定义字段格式化  

user_fields ={   'id': fields.Integer,   'name': fields.string.   'age': fields.Integer
} ret_fields2={   'status':fields.Integer,   'msg': fields.string,   # user对象   'data': fields.Nested(user_fields)
}

 字段格式化 第三种  对象是列表  

# 字段格式化
user_fields2 ={
  name':fields.string,
  age':fields.Integer,
} ret_fields3={   status':fields.Integer,   msg': fields.string,   data': fields.List(fields.Nestedtuser fields2))
}

 

参数解析

 

标签:string,flask,fields,app,分离,data,import,restful
From: https://www.cnblogs.com/longly1111/p/18469803

相关文章

  • flask 钩子函数
    什么是钩子(中间件Middleware)钩子或叫钩子函数,是指在执行函数和目标函数之间挂载的函数,框架开发者给调用方提供一个point-挂载点,一种AOP切面编程思想.常用的钩子函数before_first_request:处理第一次请求之前执行before_request:在每次请求之前执行,通常使......
  • (开题)flask框架汽车维修服务系统(程序+论文+python)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着汽车保有量的持续增长,汽车维修服务行业迎来了前所未有的发展机遇。然而,传统的汽车维修服务模式存在管理效率低下、信息不透明、配件采......
  • (开题)flask框架人文学子考研交流平台(程序+论文+python)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于人文学子考研交流平台的研究,现有研究主要以考研整体情况或特定学科考研情况为主,专门针对人文学子这一特定群体的考研交流平台的研......
  • python+flask计算机毕业设计在线教育平台(程序+开题+论文)
    文件加密系统的设计与实现tp835本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,教育领域正经历着前所未有的变革。在线教育平台作为互联网+教育的重要产物,已经逐......
  • python+flask计算机毕业设计中电科海信院培训考试系统的设计与实现(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展和企业培训需求的日益增长,构建一个高效、便捷的培训考试系统已成为众多企业和研究机构的重要任务。中电科海信院作......
  • python+flask计算机毕业设计智慧点餐系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展,智能化、便捷化的服务已成为现代生活的重要组成部分。在餐饮行业,传统的点餐方式已难以满足顾客日益增长的个性化需......
  • python+flask计算机毕业设计跃动小商品在线交易系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展和电子商务的蓬勃兴起,线上交易已成为人们日常生活不可或缺的一部分。小商品市场作为经济体系中的重要组成部分,其......
  • Spleeter: 音频源分离的革命性工具
    Spleeter:音频源分离的革命性工具Spleeter是由音乐流媒体公司Deezer开发的一款强大的音频源分离工具。作为一个开源项目,Spleeter利用深度学习技术,为音乐制作和音频处理领域带来了革命性的变化。本文将深入探讨Spleeter的功能、应用场景以及它在音频处理领域的重要意义。Splee......
  • 基于Java使用SpringBoot+Vue框架实现的前后端分离的美食分享平台
    ✌全网粉丝20W+,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌......
  • (开题)flask框架寝室综合管理系统(程序+论文+python)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,人们的娱乐方式日益多样化,其中网络游戏已成为众多年轻人休闲娱乐的首选。然而,在游戏过程中,许多玩家会遇到技术瓶......