关于flask:Flask从零到一-1-虚拟环境和第一个flask程序

11次阅读

共计 2606 个字符,预计需要花费 7 分钟才能阅读完成。

大概还有二十天假期工夫,这二十天我筹备跟进一个 Flask 入门系列,大抵会分为 10-12 篇文章。尽管我当前不想做开发,然而 Web 开发热度还是挺高的,所以就用了一段时间学习了一下,下学期也会有与 Web 无关的课程,如果对 Flask 感兴趣的话,能够继续跟进,心愿这个系列能够帮到搭档们。

第一篇次要包含两个方面,一方面是学习 Flask 之前的筹备工作,比方配置相应的环境以及下载一些工具;另一方面就是编写第一个 Flask 简易程序。

Flask 是反对 Python2 和 Python3 两个版本的,然而在我接触 Python 的时候曾经更新到 3.6 了,所以我也没有关注 Python2。我置信搭档们应该也大多都在用 Python3,所以这个系列会以 Python3 为根底,Flask 的版本应用最新的即可。

这里只对 Flask 做一个简要的介绍:Flask 是一个微框架,自身相当于一个内核,只保留了外围性能:申请响应解决和模板渲染。这两个性能别离有 Werkzeug 和 Jinja 实现,Flask 自身也包装了这两个依赖,而后 Flask 还领有很多扩大包,用户能够依据本人的需要导入扩大包实现相应的性能,这也是 Flask 框架灵便的起因。

Git 下载

首先对于 Windows 用户,举荐下载 Git 这个工具,尽管很多性能咱们在终端也能够实现,但在某些方面上讲应用 Git 的命令会更加不便,而且它也能够用来记录编写程序的源码和文件的变动状况,Git 的下载安装教程能够参考这篇博客:Windows 零碎装置教程。

下载安装实现之后,在搜寻栏找到 Git Bash,运行时候输出 git –version,如果呈现对应的版本信息则代表装置胜利。

配置虚拟环境

虚拟环境是一种独立于 Python 全局环境的 Python 解释器环境,比方一个虚拟环境中的解释器版本能够为 Python2,另一个的解释器版本能够为 Python3,它们之间是不会互相烦扰的,而且也不会受你电脑中 Python 环境的影响。

配置虚拟环境是很必要的操作,因为不同的程序依赖语言的版本可能会不同,但如果在一台电脑中下载多个版本 Python 解释器,就会导致全局环境芜杂,虚拟环境很好的解决了这个问题,也便于管理咱们的程序。

Python3 中内置的 venv 模块能够创立虚拟环境,首先在零碎自带的 cmd 中通过 cd 指令进入到指定的文件中,须要留神的是这个门路不能蕴含中文,而后应用上面指令创立一个虚拟环境。

python -m venv env

其中 env 为虚拟环境的名称,能够本人拟定。这时会在当前目录下生成一个蕴含了 Python 解释器的虚拟环境文件夹,而后在 Scripts 文件下有两个.bat 文件,这两个文件就管制着激活虚拟环境和退出虚拟环境。

通过上面指令就能够激活虚拟环境和退出虚拟环境:

env\Scripts\activate# 激活
env\Scripts\deactivate# 退出

或者也能够间接进入 Scripts 目录下间接输出 activate 或者 deactivae 即可,当目录前呈现上面这种小括号模式就代表激活虚拟环境胜利。

(env) 

而后就能够通过 pip 在虚拟环境中装置 Flask,不必指定版本,默认装置最新版本。

 pip install flask

第一个 flask 程序

编写一个 flask 程序是非常简单的,仅仅几行代码就能够实现,流程大抵能够分为以下五步:

  • 1、从 flask 包中导入 Flask 类
  • 2、实例化 Flask 类,创立一个利用对象
  • 3、定义视图函数
  • 4、为视图函数增加装璜器(定义路由)
  • 5、启动 flask 程序
# 从 flask 包中导入 Flask 类
from flask import Flask
#创立 flask 的利用对象
app = Flask(__name__)

@app.route('/')
def hello():
    """定义视图函数"""
    return 'Hello NaiTangMao'

if __name__ == "__main__":
    #启动 flask 程序
    app.run()

运行下面这段程序会给出上面的后果,咱们先关注红字局部的网址,会发现这是咱们本地主机的 IP 地址,在运行一个 flask 程序后,他会默认监听主机的 5000 端口。


Copy 一下网址利用浏览器关上就会呈现咱们视图函数中返回的信息:

这个 flask 程序处理过程如下:

  • 1、首先用户启动程序,并拜访对应的网址。
  • 2、服务器解析申请,辨认装璜器中绑定的 URL。
  • 3、匹配 URL 并调用对应的视图函数。
  • 4、获取视图函数的返回值,返回至客户端。

对于下面这几行代码须要把握几个知识点,首先你应该明确 app 为 Flask 类实例化后创立的一个利用对象,但外面的__name__有什么作用呢?

__name__为以后模块名,因为 flask 程序在运行的时候须要动态文件和模板文件辅助,在你设置__name__之后,flask 就会以以后模块 (文件) 所在目录为根目录,默认这个目录中的 static 为动态目录,templates 为模板目录,因为是默认存在的,所以在根目录中并不会体现进去。不了解不要紧,前面还会波及这两方面常识。

视图函数临时不须要过多介绍,须要留神的是视图下面的装璜器 app.route(),这个装璜器能够为视图函数绑定一个 URL,当用户拜访这个 URL 时会触发对应的视图函数,其中 ’/’ 代表根地址,咱们还能够在根地址后设置额定门路,比方 app.route(‘/hello’)。

这时如果咱们在拜访原来那个网址就会呈现 Not Found 的谬误提醒,此时必须要拜访 http://127.0.0.1:5000/hello 能力触发视图函数。

一个视图函数也能够同时绑定多个 URL,这通过为视图函数增加多个装璜器实现:

@app.route('/')
@app.route('/hello')
def hello():
    """定义视图函数"""
    return 'Hello NaiTangMao'

也就是说当初不管咱们拜访 http://127.0.0.1:5000/ 还是 http://127.0.0.1:5000/hello 都能够触发这个视图函数。

综上为 Flask 入门系列的第一篇,次要介绍虚拟环境的配置以及繁难 flask 程序形成局部的简要解析。

本文参考资料:
[1].《Flask 入门教程》. 李辉著
[2].https://www.bilibili.com/vide…
[3].Flask 中英文档

如果你对这个系列感兴趣,欢送关注公众号【奶糖猫】第一工夫跟进后续更新~

正文完
 0