Flask的前后端分离、Flask-restful的基本使用、结构化输出与输入

一.前后端分离

1.表征性状态转移

含义
其是一种软件架构风格、设计风格、而不是标准,只是提供了一组设计原则和约束条件。它主要用户客户端和服务器交互类的软件。
基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存机制等。
REST全称是Representational State Transfer,表征性状态转移。

表现形式
定义一个视图函数
127.0.0.1:5000/user/add/
127.0.0.1:5000/user/delete/
127.0.0.1:5000/user/update/
127.0.0.1:5000/user/find/
以上的路径可以直接观察到该路径是做什么的
把这些能看懂的东西叫做表征性 :add delete update find

需求:增删改查都是执行一个路径,例如:127.0.0.1:5000/user/
解决方案:根据请求方式不同,执行不同的业务逻辑
     请求方式:get、post、put、delete
     (get:查询 post:添加 put:修改 patch:修改 delete:删除)

@blue.route('/user/')
def user():
    if request.method == 'get':

    elif request.method == 'post'

    elif request.method == 'put'

    elif request.method == 'delete'

以上就是表征性状态转移。

2.Json

如果前后端分离了,那么页面中使用json来接收数据。
json是什么?
  json是一种轻量级的数据交换标准
  轻量级:同等数据量大小的情况下, json存储的内存更小,解析的速度更快
  数据交换标准:不同语言的类型进行准换

3.前后端分离-源码结构

前后端分离的源码,进行增删改查。
如果判断请求方式,那么请求的方式的名字,必须要大写。

@blue.route('/user/',methods=['GET','POST','PUT','PATCH','DELETE'])
def user():
    if request.method == 'GET':
       
        return 'get'
    elif request.method == 'POST':
       
        return 'post'
    elif request.method == 'DELETE':
       
        return 'delete'
    elif request.method == 'PATCH':

        return 'update'
    elif request.method == 'PUT':

        return 'put'

4.前后端分离-添加

使用前后端分离的模式来实现数据的添加。
需注意:1.前后端分离的页面都是在static中的,所以在static中创建html文件夹,并在其中创建useradd.html文件。

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript" src="/static/js/jquery.js"></script>
    <script type="text/javascript">
        $(function(){
   
            $('button').click(function(){
   
                var name = $('#name').val();
                var age = $('#age').val();

                $.post(
                    '/user/',
                    {
   'name':name,'age':age},
                    function(data){
   
                        console.log(data);
                    }
                )
            })
        })
    </script>

</head>
<body>
    name:<input type="text" id="name"><br>
    age:<input type="text" id="age"><br>
    <button>添加</button>
</body>
          在前后端分离的页面中向后端发送请求的方法都有哪些种?
          $.getJSON
              发送请求到响应都需要什么东西?
                   url /user/
                   data 参数
                   function
          $.get
          $.post
          $.ajax

2.static下面的页面是可以直接访问的,访问页面 http://xxx.xxx.xxx.xxx:5000/static/html/useradd.html
在这里插入图片描述

在视图函数中:

@blue.route('/user/',methods=['GET','POST','PUT','PATCH','DELETE'])
def user():
    if request.method == 'GET':
       
        return 'get'
    elif request.method == 'POST':
        # 使用前后端分离的模式 来实现数据的添加
        # 在flask中接收get请求方式的方法是 request.args.get
        #         接收post请求方式的方法是 request.form.get
        # 接口文档
        # url:  127.0.0.1:5000/user/
        # data: name age
        <
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值