大概还有二十天假期工夫,这二十天我筹备跟进一个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中英文档如果你对这个系列感兴趣,欢送关注公众号【奶糖猫】第一工夫跟进后续更新~