大纲
- 如何在虚拟环境中安装Flask
- 学习最基础的flask框架结构
目录
介绍
我们将使用Python3和Flask。Flask是一个轻量级的python web框架,我们将学习到web应用程序的通用体系结构。由于Flask轻量级、易于使用,并且包含了对web应用程序开发非常重要的大多数功能,所以所有示例都将使用它。对于本文的其余部分,使用的Linux至少安装了以下软件
- Python3
- Virtual env
一、安装Flask
Flask的当前版本是1.0.2 。我们将设置虚拟环境并配置Flask。虚拟环境是一种允许分离不同python项目的工具。当不同的项目具有不同的依赖关系时,该工具特别有用。
二、配置虚拟环境
设置虚拟环境时,将创建一个新目录,该目录将是项目的主目录,也包含选择安装的所有软件。首先确保使用的是python3。请输入以下命令在终端中执行此操作。
$ module add python/3.4.3
要创建名为flask的虚拟环境,在终端发出以下命令(注意,$表示提示符)。
$ virtualenv flask
发出此命令后,将有一个名为flask的目录,其中包含完整的Python环境。当要分别启动和停止使用虚拟环境时,必须激活和停用虚拟环境。激活虚拟环境后,它会向系统路径添加其他路径,从而允许使用在虚拟环境中安装的软件。要激活虚拟环境,在终端上发出以下命令(假设位于包含虚拟环境的目录中)。
$ source flask/bin/activate
发出此命令后,终端提示符将在其前面加上(flask)。这表示虚拟环境已被激活。要停用虚拟环境,请在终端上发出以下命令。
$ deactivate
发出此命令后,终端提示符将不再具有(flask)前缀。通常,终端提示符前的文本并不总是(flask)而是已激活的虚拟环境的名称。
三,在虚拟环境中安装flask
要在虚拟环境中安装Flask,请激活虚拟环境(如上所示),并在终端上连续发出以下命令。
$ flask/bin/pip install flask
$ flask/bin/pip install flask-login
$ flask/bin/pip install flask-mail
$ flask/bin/pip install flask-sqlalchemy
$ flask/bin/pip install sqlalchemy-migrate
$ flask/bin/pip install flask-whooshalchemy
$ flask/bin/pip install flask-wtf
$ flask/bin/pip install flask-babel
$ flask/bin/pip install coverage
发出这些命令后,虚拟环境将安装Flask和此模块所需的所有组件。要确认Flask安装正确,请打开python shell并发出以下命令。
from flask import Flask
如果安装正确,则不会导致任何错误。
四,Hello world应用程序
现在Flask已成功配置,请激活虚拟环境并到虚拟环境中。在此目录中,通过在终端发出以下命令,创建以下子目录app、app/static、app/template和tmp。
$ mkdir app
$ mkdir app/static
$ mkdir app/templates
$ mkdir tmp
下表总结了每个目录的用途。
Directory | Purpose |
---|---|
app | 包含应用程序包。 |
app/static | 包含与应用程序相关的静态文件,如jpg、css和javascript。 |
app/templates | 包含应用程序的模板。 |
tmp | 临时文件,如数据库文件。 |
建立目录结构后,创建一个名为__init__.py的文件,并将其保存在app目录中。此python脚本将在加载包时运行。在文件中保存以下代码。
from flask import Flask
app = Flask(__name__)
from app import views
python脚本创建一个应用程序对象(flask),然后导入视图模块(下面我们将关注这些模块)。“视图”模块将包含生成动态内容的代码,并且呈现给用户当请求的时候。在app文件夹中创建views.py,在文件中保存以下代码。
from app import app
@app.route('/')
def index():
return "Hello World!"
返回字符串Hello world,它会被显示在页面上当这个路径被服务器请求时。@是装饰器。在这种情况下,将使用decorator,它定义函数映射到的路由或路径。简单地说,当服务器收到对该方法的请求时,将调用该方法。到目前为止所做的是一个简单的Flask应用程序,它演示了基本的目录结构。要运行这个web应用程序,我们应该创建一个启动脚本。
from app import app
app.run(debug=True)
此python脚本导入app包,然后在调试标志设置为true的情况下运行开发服务器。要测试此web应用程序并启动Flask服务器,我们需要设置环境变量,该变量告诉Flask要运行哪个python脚本。
$ export FLASK_APP=run.py
为了避免每次打开新终端时导出此变量,欢迎将其添加到主目录中的.bashrc文件中。可以使用flask run来代替设置变量。现在,我们可以使用flask命令运行服务器:
$ flask run
* Running on http://127.0.0.1:5000/
此命令初始化本地计算机上端口5000的开发服务器。如果在浏览器中导航到以下URL,将看到友好的问候语。在终端上,你将看到服务器已从浏览器接收到您的请求。
http://localhost:5000
总结
在本文中,我们学习了如何在Python中设置虚拟环境,并安装使用Flask所需的库。我们还开发了一个简单的web应用程序。无需为开发的每个web应用程序创建新的虚拟环境。对于每个新的web应用程序,只需创建一个目录并模仿我们在本文中设置的目录结构。