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界面

相关推荐
海上彼尚几秒前
Go之路 - 2.go的常量变量[完整版]
开发语言·后端·golang
路边草随风1 分钟前
llama_index简单使用
人工智能·python·llama
Q_Q5110082851 分钟前
python+springboot+django/flask基于深度学习的旅游推荐系统
spring boot·python·django·flask·node.js·php
梨落秋霜2 分钟前
Python入门篇【if判断语句】
android·java·python
宝贝儿好3 分钟前
【强化学习】第二章:老虎机问题、ε-greedy算法、指数移动平均
人工智能·python·算法
kkk_皮蛋4 分钟前
深入理解 WebRTC 临界锁实现与 C++ RAII 机制
开发语言·c++·webrtc
i_am_a_div_日积月累_5 分钟前
el-table实现自动滚动;列表自动滚动
开发语言·javascript·vue.js
闲人编程6 分钟前
Flask-SQLAlchemy高级用法:关系建模与复杂查询
后端·python·flask·一对多·多对多·一对一·自引用
2401_841495646 分钟前
【自然语言处理】自然语言理解的分层处理机制与程序语言编译器的对比研究
人工智能·python·深度学习·自然语言处理·自然语言理解·分层处理机制·程序语言编译器
阿桂天山9 分钟前
阿桂的数据资产灵动实战 (一) 开发框架
大数据·python·软件工程