IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> FLASK+VUE--前后端分离(一)- Flask基础讲解之路由、视图函数及代码实现 -> 正文阅读

[Python知识库]FLASK+VUE--前后端分离(一)- Flask基础讲解之路由、视图函数及代码实现

一、Flask简易介绍

1、Flask是目前十分流行的web框架,它是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手。

2、微框架中的“微”是指Flask旨在保持代码简洁且易于扩展。

3、框架的简易理解及区别
目前Python的web框架有很多。除了Flask,还有django等等

django是目前Python的框架中使用度最高的,但是Django如同java大多数被用于大型网站的开发。

Flask但对于大多数的小型网站的开发Flask就可以满足,和其他的轻量级框架相比较,Flask框架有很好的扩展性,这是其他Web框架不可替代的。

二、Flask前后端分离教程之简单剖析

1、框架结构的分析

学习Flask个人总结就分两种理解去学习,1是路由、2就是视图函数。

为什么说分两种,那么大家就要了解一下,什么是路由,什么是视图函数。

1、路由:叫做注册路由

官方文档解释:在Flask应用中,路由是指用户请求的URL与视图函数之间的映射。Flask框架 根据HTTP请求的URL在路由表中匹配预定义的URL规则,找到对应的视图函数, 并将视图函数的执行结果返回WSGI服务器

个人解释: 客户端(例如Web浏览器)把请求发送给Web服务器,Web服务器再把请求发送给Flask程序实例。程序实例需要知道对每个URL请求运行哪些代码,所以保存了一个URL到python函数的映射关系。处理URL和函数之间关系的程序称为路由。

什么是WSGI服务器
官方定义:wsgi是Web服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI)是为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口。

总结:wsgi就是一种规范,它定义了使用web应用程序与Python编写的web服务器程序之间的接口格式.无论多么复杂的Web应用程序,入口都是一个WSGI处理函数。
在这里插入图片描述

2、什么是视图函数

个人理解:视图函数主要负责逻辑的处理,这里分两个框架来解释。

django:
必需要有一个形参
必需返回一个HttpResponse对象

from django.http import HttpResponse
  
def my_view(request):
     if request.method == 'GET':
            return HttpResponse('OK')

flask:
必需有个函数注册为程序跟地址的处理程序
必需返回一个response对象

from flask import Flask, make_response 
app = Flask(__name__)

@app.route('/')
def run():  #  这就是视图
    return make_response("OK")

三、Flask实现简单接口

刚才说过分路由、视图函数,那么放到代码中怎么解释呢?如下

路由分为:127.0.0.1:8080 + / + get/post等请求方式
视图函数分为:request、data、response

实例:

(1)无参数请求

from flask import Flask, make_response

# 创建app应用,__name__是python预定义变量,被设置为使用本模块.
app = Flask(__name__)


@app.route('/', methods=['GET', 'POST'])  # 这是路由,定义是GET请求还是POST请求方式
def run():  # 这是视图函数
    res = {
        'code': 0,
        'msg': "OK",
        'data': {
            'test': '测试页面'
        }
    }
    return make_response(res)

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8080, debug=False, threaded=True)

postman调用
在这里插入图片描述

(2)带参数请求

带参数分两种格式:

1、formData格式

from flask import Flask, make_response, request

app = Flask(__name__)


@app.route('/', methods=['GET', 'POST'])
def run():
    username = request.form.get('username', type=str)  # 格式区分
    password = request.form.get('password', type=int)  # 格式区分

    if username == 'admin' and password == 123:
        res = {
            'code': 0,
            'msg': "OK",
            'data': {
                'test': '测试页面'
            }
        }
    else:
        res = {
            'code': 999,
        }
    return make_response(res)


if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8080, debug=False, threaded=True)

postman调用
在这里插入图片描述
2、json格式

from flask import Flask, make_response, request

app = Flask(__name__)


@app.route('/', methods=['GET', 'POST'])
def run():
    getJson = request.get_json()
    username = str(getJson.get('username'))
    password = int(getJson.get('password'))

    if username == 'admin' and password == 123:
        res = {
            'code': 0,
            'msg': "OK",
            'data': {
                'test': '测试页面'
            }
        }
    else:
        res = {
            'code': 999,
        }
    return make_response(res)


if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8080, debug=False, threaded=True)

postman调用
在这里插入图片描述

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-11-23 12:17:56  更:2021-11-23 12:18:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 0:33:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码