Python武器库开发-flask篇之flask框架的安装(二十一)

Flask介绍

Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后触发Flask框架,开发人员基于Flask框架提供的功能对请求进行相应的处理,并返回给用户,如果要返回给用户复杂的内容时,需要借助jinja2模板来实现对模板的处理,即:将模板和数据进行渲染,将渲染后的字符串返回给用户浏览器。

"微"(micro) 并不表示你需要把整个 Web 应用塞进单个 Python 文件(虽然确实可以 ),也不意味着 Flask 在功能上有所欠缺。微框架中的"微"意味着 Flask 旨在保持核心简单而易于扩展。Flask 不会替你做出太多决策------比如使用何种数据库。而那些 Flask 所选择的------比如使用何种模板引擎------则很容易替换。除此之外的一切都由可由你掌握。如此,Flask 可以与您珠联璧合。

默认情况下,Flask 不包含数据库抽象层、表单验证,或是其它任何已有多种库可以胜任的功能。然而,Flask 支持用扩展来给应用添加这些功能,如同是 Flask 本身实现的一样。众多的扩展提供了数据库集成、表单验证、上传处理、各种各样的开放认证技术等功能。Flask 也许是"微小"的,但它已准备好在需求繁杂的生产环境中投入使用。

pipenv虚拟环境的安装

Python的虚拟环境是在Python基础环境上虚拟出的一个工作环境,目的是防止基础环境被污染,便于项目对包的管理。我们使用以下的命令便可以安装pipenv虚拟环境

python 复制代码
apt install pipenv

我们可以运行以下的代码,如果出现下图所示的场景,则代表虚拟场景已经安装好了

python 复制代码
pipenv --version

创建一个虚拟环境

现在我们已经安装好了一个pipenv虚拟环境,接下来我们需要去创建一个虚拟环境,执行如下的命令创建文件夹进入后创建虚拟环境

python 复制代码
#创建文件夹
mkdir flask
#创建目录
cd flask
#创建虚拟环境
pipenv shell 

现在我们所处的位置就是一个和外界隔离开来的虚拟环境,我们可以通过以下的命令来查看当前的文件夹有哪些文件

python 复制代码
ls

此时我们通过ls命令去查看,会发现当前文件夹下会出现一个Pipfile的文件,这个文件里记录了当前副本的一些基本情况

我们可以通过以下的命令查看当前副本的一些基本情况

python 复制代码
cat Pipfile

安装flask

现在我们执行以下的命令在虚拟环境中安装flask

python 复制代码
pipenv install flask

现在我们已经成功在虚拟环境中安装了flask框架

第一个应用的开发

接下来通过简单的代码教会大家使用flask框架开发第一个简单的应用,现在我们在上文中所搭建的虚拟环境下执行以下的代码,编辑脚本文件

bash 复制代码
vim app.py

进入编辑页面后,我们写入如下的代码:

python 复制代码
#!/usr/bin/env python3

from flask import Flask

#初始化 
app = Flask(__name__)
#路由
@app.route('/')
def index():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()

然后退出保存即可

接下来输入如下代码运行该脚本文件

python 复制代码
python3 app.py

接下来我们只需要通过任意的浏览器输入 http://127.0.0.1:5000 这个URL,便可以访问这个程序的Web界面

相关推荐
云和数据.ChenGuang24 分钟前
LangGraph 异步 Node 的设计与写法实践
开发语言·人工智能·python·机器学习·php
天诰1 小时前
SA-K-11 检索会消失吗与四个未解问题
java·服务器·人工智能·python·机器学习·ai编程
benchmark_cc2 小时前
用 QuantDash 读取美股行情:AAPL.US 的运行前检查、排错顺序与数据校验清单
python·数据分析·pandas·量化交易·股票数据·quantdash
蜗牛一步步往上爬4 小时前
第十六章 C++语言在深度学习中的应用
开发语言·c++·深度学习
羲云网络5 小时前
GPT Image 2.6 接入指南:Flare、Sunburst 怎么选,编辑失败如何排查
人工智能·python·aigc·图像生成·acedatacloud
张张123y6 小时前
DSH 插件调试避坑:client.js 设置面板、热重载与高频报错排查表
开发语言·javascript·人工智能·开源·ecmascript·后端开发·ai agent
冻柠檬飞冰走茶8 小时前
字母移动游戏题解:贪心求最长可保留连续子串(附 C 实现)
c语言·开发语言·数据结构·算法·动态规划
FRing039 小时前
vue2干货总结7(自定义指令、插槽、单页应用程序、路由的使用(VueRouter))
开发语言·前端·vue.js·vue2
橙橙笔记9 小时前
具身智能的学习 - 完成一个机械臂 第1节
python·学习·机械臂·具身智能
雪落漂泊9 小时前
C++算法 二分查找篇(上)
开发语言·c++·算法