📂
Flask 教程笔记
  • Flask 教程笔记
  • Hello, World!
Powered by GitBook
On this page

Was this helpful?

Hello, World!

虚拟环境

强烈建议大家在开发使用使用 Flask 的时候全程都在 Python 虚拟环境中进行,而不是使用全局安装。

创建项目目录,我将这个应用命名为 microblog:

$ mkdir microblog
$ cd microblog

创建虚拟环境

如果你正在使用 Python3,虚拟环境已经成为内置模块,可以直接通过如下命令来创建它:

$ python3 -m venv venv

注:第一个 venv 表示创建虚拟环境的命令,第二个 venv 为命令的参数,表示创建名为 venv 的虚拟环境,这里你也可以选择自定义的名称。

执行以上命令会在当前目录下创建一个名为 venv 的目录, Python 虚拟环境的相关文件就在其中。

microblog/
    venv/
        Include/
        Lib/
        Scripts/
        pyvenv.cfg

激活虚拟环境

windows 下激活虚拟环境:

$ venv\Scripts\activate
(venv) $ _

注:激活后前面会有括号以及虚拟环境名称的标志

Linux 或 Unix 系统性激活:

$ source venv/bin/activate
(venv) $ _

激活后,你使用的 Python 就是虚拟环境中的 Python,对它的操作并不会影响到全局的 Python。

成功创建和激活了虚拟环境之后,你可以安装 Flask 了:

(venv) $ pip install flask

编写第一个应用

我们把应用放在 microblog 目录下,一个名为 app 的目录中,在 Python中,包含 __init__.py 文件的子目录会被视为一个可导入的包

当你导入一个包时,__init__.py 会执行并定义这个包暴露给外界的属性。

本项目目录结构如下:

microblog/
    app/
        __init__.py
        routes.py
    venv/
    microblog.py

编写 __init__.py:

# __init__.py

from flask import Flask

def create_app():
    app = Flask(__name__)
    
    # 引入蓝图并注册
    from app.routes import main_routes
    app.register_blueprint(main_routes)

    return app

上面的代码我们创造一个工厂函数 create_app(),创建一个 app 并用 return 返回它,至于蓝图(Blueprint)的使用,日后的文章会说明。

编写 routes.py :

# routes.py

from flask import Blueprint

main_routes = Blueprint('main', __name__)

@main_routes.route('/')
def index():
    return 'hello world!'

routes.py 应当放置视图函数,视图函数被映射到一个或多个路由 URL,以便 Flask 知道当客户端请求给定的 URL 时执行什么逻辑。这里我们把 index() 这个视图函数用装饰器绑定到 '/' 这个 URL 规则。

为了方便把路由绑定到工厂函数,我们使用蓝图(Blueprint)来管理。

编写 microblog.py:

# microblog.py

from app import create_app
app = create_app()

我们在顶层目录创建一个 Flask 程序的入口,命名为:microblog.py,内容很简单,从 app 模块中(就是定义在 __init__.py)引入工厂函数 create_app,并用它创建一个 app 实例。

编写好三个 Python 文件,我们第一个应用就创建好了。

运行第一个应用

要运行这个 Flask 应用请确保已经激活了刚才创建的虚拟环境 venv。

然后通过设置 FLASK_APP 环境变量告诉 Flask 如何导入它。

windows 系统下这样操作:

(venv) $ set FLASK_APP=microblog.py

Linux 系统下这样操作:

(venv) $ export FLASK_APP=microblog.py

接下来使用 $ flask run 命令就能让第一个应用运行起来了:

(venv) $ flask run
 * Serving Flask app 'microblog.py' (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployme
nt.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

浏览器内打开 http://127.0.0.1:5000/,就能看到我们的 'hello world!' 页面了。

PreviousFlask 教程笔记

Last updated 3 years ago

Was this helpful?

本文源码:

https://github.com/SingleDiego/flask-tutorial