这是一篇关于Flask开发的文章,关于Flask是什么,如何搭建Flask开发环境等内容。
Flask是什么
Flask是由Python语言编写开发而成的轻量级Web服务框架,Flask是由Armin Ronacher制造的一个愚人节玩笑而发展至今。
我心中的Flask是什么
Flask的快捷轻便可扩展性高的优点,可供于我想到什么去开发什么的想法,我不用考虑太多。只用想现在我可能想要做一个什么了,那么Flask就可以做到。Flask拥有太多扩展包,你只需要了解这些扩展包的使用方法就可以做到很多你意想不到的功能。
Flask是基于Python所编写的快捷Web框架,那出现一个疑问了,Flask和Python到底有多大的关联?这是一个很深入的问题,而我的理解是Flask即Python,Python非Flask,而我也不会去解释为什么。因为这是每个人的看法,我不想每位看文章的朋友因为阅读了我的文章就给思维上了个锁,我发现太多文章都时读者在阅读的过程中把思维给锁住了,这非常影响阅读者的思考。
当然,我并不是说Flask不可以构建大型项目,而大型项目的构建准备工作需要的更多,这些并不在本文的讨论范围之内。以后如果有时间可以跟大家再来探讨“该怎样去思考构建大型项目”。
现在,请思考你对于Flask的理解是?
搭建Flask开发环境
无论你是使用Linux,Mac,Windows搭建环境都是很轻松的,阅读官方文档就能做到环境的部署这里我在说明一遍。
安装virtualenv
Linux and Mac:
sudo pip install virtualenv
Windows:
首先需要把Python根目录下的Script目录指定到系统PATH内,然后执行。最重要的是,你需要在windows下安装GIT,利用Git bash来代替原始CMD。
easy_install pip #安装pip
pip install virtualenv
创建项目文件夹
Mac、Linux
mkdir -p ~/Document/flask-bb & cd ~/Document/flask-bb #创建文件夹并移动到文件夹
virtualenv venv #创建virtualenv独立环境
Windows
在你想要的盘符创建一个文件夹名为flask-bb,路径中不要带中文。
在项目文件夹内右击选择Git Bash Here
virtualenv venv #创建virtualenv独立环境
使用virtualenv
Mac、Linux在项目目录下输入
. venv/bin/activate #注意前面有个 . 并空格
终端会进入virtualenv环境,并在提示符最前面加入(venv)
Windows系统下,同样在项目文件夹内打开Git Bash
. venv/Script/activate #注意 . 和空格
现在我们已经成功的部署并使用到了virtualenv环境,至于virtualenv到底有什么用呢?它其实就是一个便捷的Python虚拟环境,因为Flask的特性,每个项目里都会有不同扩展包来扩展项目本身。为了洁癖精神,不把每一个使用的扩展包都安装到根Python环境里。所以我们进行了一个小型的虚拟Python环境,让这些针对于当前项目的Flask扩展包得以应用安装。
提示:virtualenv不仅仅不适用于Flask,还可以是任何Python的开发环境,只要你有需求。你可以针对你不同的项目设定不同的virtualenv环境。
你需要一个数据库
在本文中,我选择使用Mysql作为数据库,虽然sqlite更简单,可随意创建文件,有了问题直接删除。但为了我们在本地开发和实际部署在生产保持数据库的一致,所以在本地和服务器上都使用Mysql,而基于Mysql的GUI管理软件也有很多,大家自行搜索一下就可以在自己的系统环境中安装好Mysql。
本次我使用的是Mysql 5.6版本,并创建一个数据库编码格式为utf8mb4默认排序规则为utf8mb4_bin的数据库表。建议创建一个新的账户来管理此数据库表。
运行Flask
部署好Flask环境后,我们需要怎样去运用它呢?
首先我们需要安装Flask。进入virtualenv环境后,运行如下命令:
pip install flask #安装Flask
pip install flask-script #安装Flask-Script 来代替原生启动管理
pip install flask-SQLAlchemy #安装Flask-SQLAlchemy来管理数据库
pip install mysql-python #安装mysql-python驱动数据库
接下来要特别注意,对于我们现在所需求的FlaskBlog的全部功能的代码都可以写到一个.py文件里,但我非常不推荐这样(我相信也没人会推荐这么做)。如果这样写非常不便于扩展功能面,本文全部描述的功能虽然仅限于非常基础的内容,但想要扩展是非常容易的,而把整个项目的文件及文件夹规划好了,更便于我们后期再次扩展开发时的效率!
以下文章所有文件,我会基于根目录来标注文件路径。
例如:
/config.py则在项目目录根上。
/app/main.py则在项目目录创建一个app的文件夹下创建main.py
开始编写吧!
文章来自:编程派