Python学习--Flask基础交互

一、基础准备

在开始学习前,我们需要完成虚拟环境的创建和并在虚拟环境中Flask的安装

虚拟环境
建议在开发环境和生产环境下都使用虚拟环境来管理项目的依赖。
为什么要使用虚拟环境?随着你的 Python 项目越来越多,你会发现不同的项目会需要 不同的版本的 Python 库。同一个 Python 库的不同版本可能不兼容。
虚拟环境可以为每一个项目安装独立的 Python 库,这样就可以隔离不同项目之间的 Python 库,也可以隔离项目与操作系统之间的 Python 库。
Python 3 内置了用于创建虚拟环境的 venv 模块。如果你使用的是较新的 Python 版本,那么请接着阅读本文下面的内容。
如果你使用 Python 2 ,请首先参阅 安装 virtualenv 。
创建一个虚拟环境
创建一个项目文件夹,然后创建一个虚拟环境。创建完成后项目文件夹中会有一个 venv 文件夹:
$ mkdir myproject
$ cd myproject
$ python3 -m venv venv
在 Windows 下:
$ py -3 -m venv venv
在老版本的 Python 中要使用下面的命令创建虚拟环境:
$ python2 -m virtualenv venv
在 Windows 下:
\Python27\Scripts\virtualenv.exe venv
激活虚拟环境
在开始工作前,先要激活相应的虚拟环境:
$ . venv/bin/activate
在 Windows 下:
venv\Scripts\activate
激活后,你的终端提示符会显示虚拟环境的名称。
安装 Flask
在已激活的虚拟环境中可以使用如下命令安装 Flask:
$ pip install Flask
Flask 现在已经安装完毕。请阅读 快速上手 或者 文档目录 。
与时俱进
如果想要在正式发行之前使用最新的 Flask 开发版本,可以使用如下命令从主分支 安装或者更新代码:
$ pip install -U https://github.com/pallets/flask/archive/master.tar.gz
安装 virtualenv
如果你使用的是 Python 2 ,那么 venv 模块无法使用。相应的,必须安装 virtualenv.
在 Linux 下, virtualenv 通过操作系统的包管理器安装:
Debian, Ubuntu
$ sudo apt-get install python-virtualenv
CentOS, Fedora
$ sudo yum install python-virtualenv
Arch
$ sudo pacman -S python-virtualenv
如果是 Mac OS X 或者 Windows ,下载 get-pip.py ,然后:
$ sudo python2 Downloads/get-pip.py
$ sudo python2 -m pip install virtualenv
在 Windows 下,需要要 administrator 权限:
\Python27\python.exe Downloads\get-pip.py
\Python27\python.exe -m pip install virtualenv
现在可以返回上面, 创建一个虚拟环境 。

接下来试着写出我们的第一个Flask应用

from flask import Flask
app = Flask(__name__)

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

那么,这些代码是什么意思呢?

  1. 首先我们导入了 Flask 类。 该类的实例将会成为我们的 WSGI 应用。

  2. 接着我们创建一个该类的实例。第一个参数是应用模块或者包的名称。如果你使用 一个单一模块(就像本例),那么应当使用 name ,因为名称会根据这个 模块是按应用方式使用还是作为一个模块导入而发生变化(可能是 ‘main’ , 也可能是实际导入的名称)。这个参数是必需的,这样 Flask 才能知道在哪里可以 找到模板和静态文件等东西。更多内容详见 Flask 文档。

  3. 然后我们使用 route() 装饰器来告诉 Flask 触发函数的 URL 。

  4. 函数名称被用于生成相关联的 URL 。函数最后返回需要在用户浏览器中显示的信息。

把它保存为 hello.py 或其他类似名称。请不要使用 flask.py 作为应用名称,这会与 Flask 本身发生冲突。

了解了Flask基础后,在完成基础准备后我们就可以开始学习基础交互内容了

二、基础交互

GET

通过get,用户就能得到我们传输的数据

路径传参 (params)

通过用户访问的路径传递参数

@app.route("/get1")
def test1():
    name = request.args.get("name")
    print(name)
    return "得到了" + name

在这里插入图片描述
通过在路径后添加"?name=xxx"
用户就得到了参数"xxx"

路径传参 (path)

与前一种方法类似

@app.route("/get2/<int:id>")
def test2(id):
    print(type(id))
    return f"得到了{id}"

在这里插入图片描述

POST

得到用户发送的数据

form-data

@app.route("/post1", methods=["POST"])
def test3():
    username = request.form.get("username")
    password = request.form.get("password")
    data = {
        "username": username,
        "password": password
    }
    print(username,password)
    return data

这里我使用了Postman来进行测试
在这里插入图片描述

在这里插入图片描述
这样我们便得到了用户上传的用户名和密码

body json

传输json格式的数据

json,轻量级的数据交换格式

class Student():

    def __init__(self, id, name, age):
        self.id = id
        self.name = name
        self.age = age

    def __repr__(self):
        return f"Student[id={self.id},name={self.name},age={self.age}"


@app.route("/post2", methods=["POST"])
def test4():
    id = request.json.get("id")
    name = request.json.get("name")
    age = request.json.get("age")
    stu = Student(id, name, age)
    print(stu)
    return "stu"

在这里插入图片描述

PUT

方法一

从客户端向服务器传送的数据取代指定的文档的内容。
与前文方法类似

@app.route("/put1", methods=["PUT"])
def test5():
    name = request.args.get("name")
    print(name)
    return "得到了" + name

在这里插入图片描述

方法二

@app.route("/put2/<int:id>", methods=["PUT"])
def test6(id):
    print(type(id))
    return f"得到了{id}"

在这里插入图片描述
其他的方法也类似,在这里就不列出来了

DELETE

@app.route("/delete", methods=["DELETE"])
def test7():
    name = request.args.get("name")
    print(name)
    return "得到了" + name

在这里插入图片描述

三、其他

Flask重定向

from flask import Flask, request
from werkzeug.utils import redirect

app = Flask(__name__)

@app.route("/bili")
def bili():
    return redirect("https://www.bilibili.com")
    
app.run(debug=True)

输入
在这里插入图片描述
敲回车后
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Electron-Vue是一个基于Vue.js和Electron的框架,用于构建跨平台的桌面应用程序。它使用了Vue.js的组件化开发方式,可以快速搭建界面,并且可以使用Electron API来访问底层系统资源。 Python Flask是一个轻量级的Web开发框架,使用Python语言编写,它简洁而灵活,并提供了丰富的扩展库。Flask的设计哲学是只包含必要的功能,同时保持扩展性,使开发者可以根据自己的需要添加额外的功能。 结合这两个框架来进行Web开发,可以达到快速开发、高效与跨平台的目的。可以使用Electron-Vue构建一个桌面应用程序的前端界面,并通过Vue.js与Flask的后端进行交互。Vue.js负责前端界面的展示与交互逻辑,而Flask则负责处理前端请求、调用Python的业务逻辑,返回相应的数据给前端。 使用Electron-Vue构建的跨平台桌面应用程序,可以将PythonFlask作为后端服务进行部署。在开发过程中,可以使用Flask提供的路由、数据库等功能,使得Web开发更加高效。同时,由于Electron-Vue使用了前端的技术栈,比如HTML、CSS和JavaScript,它可以方便地与Flask的后端进行通信,并进行数据的传输和处理。 总而言之,通过结合Electron-Vue和Python Flask,我们可以开发出一个跨平台的桌面应用程序,它可以借助Vue.js的前端技术栈来实现丰富的界面交互,同时利用Flask的简洁、灵活和扩展性,来处理业务逻辑和后端服务。这种组合可以提高开发效率,并且可以在不同的操作系统上运行。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

plaaaa2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值