Python轻量级Web框架Flask(1)——简介/虚拟环境介绍/安装

2023-11-20

1、Redis简介

  • 1、数据库分类:
  • 关系型数据库:MySQL、Oracle、···
  • 非关系型数据库:Redis、MongoDB、···
  • 2、介绍:
  • Redis是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能,可扩展的Web应用程序。
  • 3、特点:
    • Redis将数据库完全保存在内存中,只使用磁盘进行持久化。
    • 与其他键值数据库相比,Redis有一组相对丰富的数据类型。
    • Redis可以将数据复制到任意数量的从机中,分布式。
  • 4、优点:快、丰富的数据类型、操作具有原子性、多实用工具。
  • 5、数据交互方法:前端(html、css、js)和后端(python、java、go等)进行交互,后端再和数据库(mysql)交互,而使用了redis之后,一些常用数据获取时,先从redis中查看,有的话直接调用,没有的话再从mysql中拿,同时会将数据再redis中存储一份,下次直接从redis中获取。
  • 5、附录
    在这里插入图片描述

2、web框架/虚拟环境/Flask简单介绍

  • 1、前后端交互流程:前端(html、css、js、vue、react、小程序)显示在浏览器中,通过https协议提出请求(request)给后端,后端中python框架Flask或者其他框架给数据库发送消息,数据库给回复消息给框架(有的时候框架和数据库之间可能还存在redis),最后框架把消息回复(response)给前端。

  • 2、MVT或者MTV架构模式的举例【以用户注册为例】:
    1.把浏览器中获取的用户信息提交给网站服务器,2.V:view视图接收用户信息,v告诉m(model模型)将用户信息存进数据库,3.m将用户信息保存进数据库,4.数据库将数据保存的结果返回给m,5.m将结果返回给v,6.v告诉t(template)产生一个html页面,7.t将产生的页面返回给v,8.v将html页面发送给浏览器,9.浏览器显示结果页面。
    在这里插入图片描述

  • 3、Flask简介:Flask是用python编写的web应用程序框架,它由Armin Ronacher开发,Flask是python的web框架中比较年轻的一个,主要用在微小项目上,它的可拓展性强,Flask是一个面向简单需求和小型应用的微框架【Flask是一个基于MVC设计模式的web后端框架】。

  • 4、学习一些python库要学会上官网找对应的资料文档:百度中检索Flask就能找到Flask的英文或者中文文档(建议看英文文档,很多中文文档可能版本会老一些)。

  • 5、Flask的安装:苹果系统要注意使用pip3,windows系统有时候可能需要更新python的pip。

    • 首先在cmd中通过pip -v查看pip的版本
  • 6、虚拟环境
    在这里插入图片描述
    注意:真实环境中所有python的包是安装在一起的,有时候可能一个包(库)出现问题就会导致所有环境都崩溃了。但是虚拟环境的好处是每个项目对应自己需要的包(库),相互之间彼此独立。
    如何给自己电脑安装虚拟环境包:
    在这里插入图片描述
    注意:安装了上面的包就可以在电脑上直接管理自己的虚拟环境了,这个和pycharm当中的虚拟环境意思差不多,通过pycharm安装虚拟环境就跳过了安装虚拟环境包这个步骤。【我选择用pycharm来管理虚拟环境】当然如果你后面开发的Flask项目很多,每个都用pycharm自带的虚拟环境就会在每个项目文件夹中多出来一个venv的环境文件,如果用了虚拟环境包,后面就可以选择电脑中的同一个虚拟环境(在pycharm中就可以用“先前配置的解释器”)

注意:在Python 3.3及更高版本中,venv模块已经成为标准库的一部分,因此不需要下载任何额外的第三方库或软件包来创建虚拟环境。您只需要使用Python自带的venv模块就可以创建和管理虚拟环境。如果您使用的是旧版本的Python,如Python 2.x,那么您需要安装第三方库virtualenv来创建和管理虚拟环境。与venv类似,virtualenv允许您在本地文件夹中创建一个独立的Python环境,以便您可以使用不同的Python包和软件包,而不会影响全局的Python环境。总之,在Python 3.3及更高版本中,您可以直接使用venv模块来创建和管理虚拟环境,无需下载任何额外的第三方库或软件包。


3、Flask的安装

  • 前言:要使用Flask,首先需要有pycharm专业版(淘宝或者如果你是在校生可以申请免费,方法b站找找)
  • 第一步:先在pycharm中创建项目,同时创建虚拟环境【可以发现,虚拟环境会自动放在项目之中名为venv】
    在这里插入图片描述
  • 项目创建成功,基础环境被复制了一份放在了项目文件venv文件中,之后就可以在项目中通过pip命令给这个项目下载它需要的包(库),且下载的包(库)和其他项目相互独立。
    在这里插入图片描述
  • 第二步:给Flask项目的虚拟环境中安装Flask库
    • 首先在pycharm的Flask项目下找到终端命令选择,我这里选择终端命令时报错了,所以我重新设置了终端命令的路径
      在这里插入图片描述
      在这里插入图片描述
    • 问题解决后输入pip list查看
      在这里插入图片描述
    • 然后根据提示更新下pip
      在这里插入图片描述
    • 然后在终端通过pip指令安装Flask
      在这里插入图片描述
    • 安装完成后,测试一个小案例
# 导入flask框架
from flask import Flask
#创建实例 第一个参数时应用模块或者包的名称 一般传输__name__
a = Flask(__name__)	#__name__的作用就是表示该py文件所在文件夹就是Flask的项目目录,其他项目不能够使用该文件,是一种固定写法。

@a.route("/test")	#路由
def test():	#视图函数
    #默认返回值是一个html文件
    return "<h2>这是一个测试Flask的小案例</h2>"

if __name__ == "__main__":
    #实例使用run方法启动flask内置的服务器
    a.run()
'''
运行结果:
E:\code\pythonProject\Flask\venv\Scripts\python.exe E:/code/pythonProject/Flask/stu_1.py
 * Serving Flask app 'stu_1'
 * Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
 * Running on http://127.0.0.1:5000
Press CTRL+C to quit
'''

进入http://127.0.0.1:5000/test之后可以看到测试结果
在这里插入图片描述


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python轻量级Web框架Flask(1)——简介/虚拟环境介绍/安装 的相关文章

随机推荐

  • TensorFlow.js预测鸢尾花种类

    源码连接 TensorFlow js实现鸢尾花种类预测 机器学习文档类资源 CSDN下载 一 加载IRIS数据集 创建index html入口文件 跳转到script主文件 在script js文件夹中利用预先准备好的脚本生成鸢尾花数据集
  • 无公网IP通过旁路由openwrt的Zerotier实现和在家一样访问家里每个设备

    现在的IP地址精贵 很多人拉的线路都没有公网IP了 早期时候有公网IP可以干很多事情 例如架个Web FTP 游戏等各种服务 再通过动态域名 在公司或者朋友可以直接访问 只要映射端口就可以了 如果没有公网IP 其实还有其他办法 例如frp反
  • BGP双平面实验

    实验要求 1 合理IP地址 2 AS 1 2 3 内部使用OSPF 协议 AS 1 AS 2内部建立全互联的IBGP邻居 AS之间建立全部的EBGP邻居 3 PC 1 3 5 属于电信的路由 通信时必须使用电信AS 1 PC 2 4 6 属
  • Linux安装Oracle Database 19c RAC

    版权声明 本文为博主原创文章 遵循 CC 4 0 BY SA 版权协议 转载请附上原文出处链接和本声明 本文链接 https blog csdn net networken article details 120788623 Linux安装
  • 14. Bayesian Networks With Examples in R的学习笔记(贝叶斯网络 bic打分相关)

    bnlearn官网推荐书目 Bayesian Networks With Examples in R 下载了英文版pdf学习了一下 书还是比较浅显易懂的 没有读多少 暂时把自己看的部分整理 翻译到这里留存 欢迎大家交流 pdf下载地址 ht
  • sql drop和delete区别

    drop与delete的区别 初学sql语言 难免被drop和delete用法弄混 二者都有删除的意思 那它们又有什么区别呢 drop主要用于删除结构 例如删除数据库 drop database XX 删除表 drop table XX 字
  • SyntaxError: Unexpected end of JSON input解决方法和思路

    最近在写一个前后台交互的需求 前台点击编辑按钮 直接报错 SyntaxError Unexpected end of JSON input 网上查了下基本都是 一般 双引号 单引号 未成对输入时导致报错 但是我这边没法解决 重新检查了Jav
  • 零基础玩转树莓派(三)—通过SSH远程连接树莓派

    在树莓派使用过程中 我们会经常进行一些调试工作 不方便一直将树莓派与显示屏等相连 需要通过SSH来远程连接访问控制树莓派 一 Windows电脑客户端 使用SSH远程服务 需要先在控制电脑上安装一个客户端PUTTY 1 客户端下载 网页搜索
  • Ubuntu 20.04 如何设置永不息屏

    右键进入settings 找到power 将Blank Screen 设置为Never
  • js时间戳转日期

    方式一 方式一 var date new Date parseInt timeStart 1000 toLocaleString replace d 1 2 最后得到的是2019 8 4 上午9 29 格式的数据 方式二 function
  • Windows10 关于系统中断CPU占用过高导致电脑变卡的解决办法

    Windows10 关于系统中断CPU占用过高导致电脑变卡的解决办法 最近一段时间笔记本一直很卡 不管打开几个程序 任务管理器中总会有CPU占用80 以上 这一度让我抓狂 开始网上搜教程 然后开始了我的各种硬件禁用的道路 这个试了好久 为了
  • 洛谷P1010 [NOIP1998 普及组] 幂次方

    文章目录 前言 题目描述 输入格式 输出格式 样例 1 样例输入 1 样例输出 1 数据范围 代码 解析 结尾 前言 在做完洛谷P1010 NOIP1998 普及组 幂次方这道题之后 我对于现在的学习有了些许认识 题目描述 任何一个正整数都
  • 如何处理低概率出现的bug???

    原文链接 一般的低概率bug 不足以导致系统崩溃的bug 方案1 仔细检查是否是自己的执行步骤 或者误操作导致的bug 提交给相关人员 方案2 通过日志相关信息处理 提交相关开发人员 方案3 通过截图方式尽量复现当时的情景 方案4 和相关测
  • Java 中使用 protobuf

    主要参考 Java 中使用 protobuf 入门基础篇 看这篇就够了 https blog csdn net wxw1997a article details 116755542 Java 中使用 protobuf 复杂深入篇 看这篇就够
  • 成都瀚网科技有限公司:抖音怎么绑定抖音小店才好?

    抖音是一款非常流行的短视频应用 为用户提供了一个展示才华 分享生活的平台 在抖音上 用户可以通过绑定抖音商店来销售自己的产品或服务 从而实现商业变现 那么 抖音如何绑定抖音商店呢 1 抖音如何绑定抖音商店 用户绑定抖音商店需要按照以下步骤操
  • PCIe专题学习——3.2(数据链路层Ack/Nak机制解析)

    之前我们讲了对PCIe的一些基础概念作了一个宏观的介绍 了解了PCIe是一种封装分层协议 packet based layered protocol 主要包括事务层 Transaction layer 数据链路层 Data link lay
  • 数据挖掘计算题-1

    一 设某事务项集构成如下表 填空完成表1中支持度和置信度的计算 1 12 15分 表1 支持度与置信度 事务ID 项集 L2 支持度 规则 置信度 T1 A D A B 1 A B 7 T2 D E A C 2 C A 8 T3 A C E
  • JavaScript 中的 `this` 指向问题与其在加密中的应用

    JS中的 this 关键字是一个非常重要的概念 它在不同情况下会指向不同的对象或值 在本文中 我们将深入探讨 JavaScript 中 this 的各种情况 并思考如何将其应用于 JS加密中的一些有趣用途 1 全局上下文中的 this 在全
  • 安卓逆向之去除app游戏入口广告

    安卓逆向学习群692903341 首先来看一下app游戏入口界面广告 lt
  • Python轻量级Web框架Flask(1)——简介/虚拟环境介绍/安装

    1 Redis简介 1 数据库分类 关系型数据库 MySQL Oracle 非关系型数据库 Redis MongoDB 2 介绍 Redis是一个开源 高级的键值存储和一个适用的解决方案 用于构建高性能 可扩展的Web应用程序 3 特点 R