从零开始学Python Flask Web(三)--正式进入Flask

前言:

现在主流的python web 框架有Django,Flask。简单说一下异同,Django呢比较全面,什么东西组件之类的都给你已经打包好了,你直接拿来用就可以,这样呢灵活性差点。Flask呢核心简单,是轻量级的,不规定我们使用什么特定的ORM之类的,灵活性和个性化比较好。做技术呢,不说哪个好,都有优劣。


Flask的安装与基本配置

Flask框架属于python的第三方库,需要下载安装。我们不管安装什么第三方库,都不应该把它安装在主环境中(因为主环境中只能安一个),这样的话,等哪天这个库出来新版本,我们就可以在不影响老版本的情况下,再安装新版本。这样呢,都能用。所以需要把第三方库安装在一个独立的虚拟环境中。python3.4以上版本都自带了个venv模块,可以用来创建虚拟环境。

windows环境下打开cmd,以管理员身份运行。然后将主环境中的python复制一份到虚拟环境中,然后你就可以在这个虚拟环境中安装你想安装的第三方库,而不影响主环境。如下:表明在f盘安装了一个xxxx的文件夹,将主环境拷贝过来了。

激活这个虚拟环境:激活成功后你的cmd中的左边会显示一个:(xxxx)f:............

退出这个环境:

在虚拟环境中安装Flask:pip install flask

如果大家使用IDE的话,如:pycharm。那么你在创建Flask项目的时候人家就让你选虚拟环境安装位置之类的,工作都帮你做了。上面这些是让大家了解一下虚拟环境的必要性。而且让大家在IDE创建flask项目时不至于不清楚它让你填写的那些文件夹有什么用。


站点结构:

我们做开发时,不管用什么框架,都有一定的约定俗成的或者规定的结构。我们先来简单看一下flask的大概站点结构的样子:model一般用来存放模型,static一般用来存放我们的静态文件(比如css样式、images图片等),templates用来存放我们的html(flask使用的jinja2模板呢会自动来templas中找相应的html文件),外面的一堆函数(.py)用来处理逻辑关系。


请求/响应流程:

我们创建一个最简单的flask,在页面显示“hello world”.代码如下图,注释都在图中。

使用app = Flask(__name__)中使用__name__作为参数是指把当前目录作为程序的根目录。

这样,当我们运行这个py文件时,flask就在我们本机的5000端口帮我们运行了这个程序。我们打开浏览器输入localhost:5000/   就会在界面显示Hello World.。localhost:5000/ 中的 / 就是我们请求的地址,相应的路由就会把请求放到@app.route('/')它修饰的函数中去。在这个处理函数中,我们只是返回了一个字符串显示。如果我们请求的是 localhost:5000/index    ,那么相应的路由就会把请求放到@app.route('/index/')它修饰的函数中去。

其中最后一行代码如果是app.run(debug = True),意味着开启了调试模式,修改代码后不需要重新启动程序,便于调试。发布自己的网站时不要开启调试模式,很危险,容易被黑。


MVC:

这个词大家都听了很多遍了,MVC指的就是Models,View,Control。是传统的web模式。不管什么框架,都或多或少与MVC的模式有关,FLask也不例外。

通过上面的简单流程,我们看到:客户端发送请求---->route路由处理--->视图处理函数(control)-->返回视图(View),这里面有MVC中的V、C。没有用到M。

如果我们再把M用进去,,那就是客户端发送请求---->route路由处理--->视图处理函数(control)-->找到请求的模型数据(models)-->将模型显示在视图上,返回视图(View)。

传统的MVC大致流程就是这样,丰富多彩的内容只不过是在这个大体框架上丰富了很多东西。


初步进入Flask的世界,需要好好理解它内部的结构和运行过程,加油少年。

猜你喜欢

转载自blog.csdn.net/qq_42666483/article/details/82462044