Flask学习入门(一)之Hello,World

前言

本教程来自The Flask Mega-Tutorial的译本,选用的Makedown编辑器为REMARKABLE,实验环境为Ubuntu18.04,Python版本为 3.7.1,由于才开始接触Makedown语法,行文风格参考了此文翻译,在此向译者致敬。


安装Python的过程被略去,若你还没有安装Python,此处建议安装Anaconda

安装Flask


Python有公共仓库来托管第三方的包,我们可以通过pip3安装,基本格式如下:(注:若ubuntu中同时有Python2.x和3.x,pip默认为Python2安装,要为Python3安装需使用pip3)

pip3 install <package-name>

在此涉及到版本问题所引起的故障,可以参考第一行Python代码写的此篇文章,通过使用虚拟环境可以解决这个问题,我们先创建项目目录,将此应用命名为microblog:

mkdir microblog
cd microblog

在Python3中创建此虚拟环境的命令为:

python3  -m venv venv

若提示缺少依赖,在Ubuntu中可以使用此命令安装依赖sudo apt-get install python3-venv,命令执行成功的话会在microblog目录下生成一个venv文件夹,首先查看自己的Python是否包含了virtualenv,通过使用此命令可以来确认:

virtualenv venv

若提示错误则需下载virtualenv,创建完后可以使用以下命令激活:

source venv/bin/activate

前面出现(venv)表示虚拟环境激活,在虚拟环境中安装Flask

(venv) $ pip3 install flask

测试可以通过导入模块来进行,打开解释器>>> import flask没有抛出异常即为成"

"Hello,World"Flask应用


Flask网站提供了应用实例,让我们从Hello,World开始这段奇妙之旅,在此先理解一下Python中modulepackage
moduel:一个eg.py即为module,eg为模块名(注:在C中一般称为lib,但在Python中,一般称为moduel
package:一个有层次的文件目录,一定含有__init__.py,定义了由一组moduel组成的应用环境。
我们创建一个名为apppackage来存放应用,创建__init__.py来使文件夹变为package
__init__.py:控制着包的导入行为,目的是包含不同运行级别的包的可选的初始化代码,用以自动加载子模块,具体用法可以参考Python3-cookbook
__init__.py中输入如下代码:

from flask import Flask
app = Flask(__name)
from app import routes

此处app = Flask(__name)中创建了Flask的实例,参数__name__,告诉了falsk了Application的名字,官方文档中有:If you are using a single module,__name__ is always the correct value. If you however are using a package, it’s usually recommended to hardcode the name of your package there.
在Flask中,应用程序路由的处理逻辑被编写为Python函数,称为视图函数。 视图函数被映射到一个或多个路由URL,以便Flask知道当客户端请求给定的URL时执行什么逻辑。在app/routes.py中 实现了视图函数

from app import app

@app.route('/')
@app.route('/index')
def index():
    return "Hello, World!"

在Python中@符号称为装饰器的语法糖,关于装饰器更详细的了解可以参考流畅的Python,@app.route装饰器将路径//index关联到index函数,这样在访问这两个URL时将调用此函数并将返回值作为响应传递给浏览器。
要完成应用程序还需要在microblog目录下创建一个名为microblog.py的脚本,通过此来导入应用实例:

from app import app

此处第一个app为包名(包含文件的__init__.py文件夹),第二个是包中导入app对象,在设置完FLASK_APP环境变量就可以运行第一个程序了,命令如下:

export FLASK_APP=microblog.py

用此种方法在每次运行之前都得设置环境变量,通过设置可以只会在运行flask命令时自动注册生效的环境变量首先安装python-dotenv

pip3 install python-dotenv

安装后在microblog目录下新建一个.flaskenv的文件,内容是:

FLASK_APP=microblog.py

在虚拟环境中,通过运行flask run就成功运行了构筑的第一个Web应用了。通过输出可以看到服务器运行在127.0.0.1上,使用127.0.0.1:5000就可以看到构筑的Hello,World页面了。

猜你喜欢

转载自blog.csdn.net/qq_34172761/article/details/88778171