第一天:Flask-入门介绍

作者:chen_h
微信号 & QQ:862251340
微信公众号:coderpai


这是利用 Flask 开发一个网站专题的第一天,完整目录请点击这里


最近学习了一下 Flask 开发 Web,我主要是在 Mac 上面进行学习,使用的 Python 和 Flask 版本是:

Python 3.6.1
Flask 0.12.2

接下来,我们实现一个简单的 Hello World 程序。

我们先在一个目录下,新建一个文件夹 microblog,之后 cd 到这个文件夹后,我们开始为应用程序创建基本的文件结构:

mkdir app
mkdir app/static
mkdir app/templates
mkdir tmp

我们的应用程序包是放置于 app 文件夹中。子文件夹 static 是我们存放静态文件,图片,JS文件以及各种样式文件。子文件夹 templates 显然是存放模板文件。

让我们开始为我们的 app 包创建一个简单的初始化脚本,文件位置是 app/__init__.py

from flask import Flask

# app是Flask的实例,它接收包或者模块的名字作为参数,但一般都是传递__name__。 
# 让flask.helpers.get_root_path函数通过传入这个名字确定程序的根目录,以便获得静态文件和模板文件的目录。
app = Flask(__name__)
from app import views

上面的脚本简单的创建应用对象,接着导入视图模块,虽然该模块我们还没有编写。

视图是响应来自网页浏览器的请求的处理器。在 Flask 中,视图是编写成 Python 函数。每一个视图函数是映射到一个或多个请求的 URL 。

让我们编写第一个视图函数,文件位置是 app/views.py

from app import app

@app.route('/')
@app.route('/index')

def index():
  return 'Hello World!';

其实这个视图只是返回一个字符串,在浏览器上显示。两个 route 装饰器创建了从网址 / 已经 /index 到这个函数的映射。

能够完整工作的 Web 应用程序的最后一步是创建一个脚本,启动我们的应用程序的开发 Web 服务器。我们把这个脚本设置为 run.py ,文件位置为根目录:

from app import app

app.run(host = '0.0.0.0', port = 8008)

注:因为我直接在阿里云上面编写,所有把 host 设置为了 0.0.0.0,如果你在本地编写,可以把这个参数去掉。

这个脚本简单地从我们的 app 包中导入 app 变量并且调用它的 run 方法来启动服务器。请记住 app 变量中含有我们在之前创建的 Flask 实例。

我们使用 tree 命令来查看一下目录结构,具体如下:

├── app
│   ├── __init__.py
│   ├── __init__.pyc
│   ├── __pycache__
│   │   ├── __init__.cpython-36.pyc
│   │   └── views.cpython-36.pyc
│   ├── static
│   ├── templates
│   └── views.py
└── run.py

4 directories, 6 files

最后,我们只需要运行这个脚本就可以运行一整个程序。

python run.py

之后,我们打开浏览器,输入 YOUR_IP:8008,就能看到如下页面:

第一天:Flask-入门介绍_第1张图片

你也可以在浏览器中输入 YOUR_IP:8008/index 就能看到相同的页面,因为我们在视图文件中定义了这两个路由。

第一天:Flask-入门介绍_第2张图片

至此,我们学习了怎么利用 Flask 框架去编写 Hello World 程序。


你可能感兴趣的:(flask)