美文网首页
01.Hello, World!

01.Hello, World!

作者: SingleDiego | 来源:发表于2021-06-10 10:29 被阅读0次

    虚拟环境

    强烈建议大家在开发使用使用 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!' 页面了。






    本章节源码:https://github.com/SingleDiego/Flask-Tutorial-Source-Code/tree/main

    相关文章

      网友评论

          本文标题:01.Hello, World!

          本文链接:https://www.haomeiwen.com/subject/yxpeeltx.html