构建一个 Flask 应用程序

FlaskFlaskBeginner
立即练习

This tutorial is from open-source community. Access the source code

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

本实验将指导你完成设置基本 Flask 应用程序的过程。Flask 是一个用于 Python 的轻量级 Web 应用程序框架。它旨在使 Web 开发快速且轻松地入门。

注意:你需要自己创建代码文件并在环境中运行它。你可以在 Web 5000 上预览 Flask 服务状态。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL flask(("Flask")) -.-> flask/DataHandlingGroup(["Data Handling"]) flask(("Flask")) -.-> flask/CoreConceptsGroup(["Core Concepts"]) flask(("Flask")) -.-> flask/DevelopmentToolsGroup(["Development Tools"]) flask/DataHandlingGroup -.-> flask/incoming_request_data("Incoming Request Data") flask/DataHandlingGroup -.-> flask/response_objects("Response Objects") flask/CoreConceptsGroup -.-> flask/application_object("Application Object") flask/CoreConceptsGroup -.-> flask/configuration("Configuration") flask/CoreConceptsGroup -.-> flask/json_support("JSON Support") flask/CoreConceptsGroup -.-> flask/useful_internals("Useful Internals") flask/DevelopmentToolsGroup -.-> flask/blueprint_objects("Blueprint Objects") flask/DevelopmentToolsGroup -.-> flask/command_line_interface("Command Line Interface") subgraph Lab Skills flask/incoming_request_data -.-> lab-136335{{"构建一个 Flask 应用程序"}} flask/response_objects -.-> lab-136335{{"构建一个 Flask 应用程序"}} flask/application_object -.-> lab-136335{{"构建一个 Flask 应用程序"}} flask/configuration -.-> lab-136335{{"构建一个 Flask 应用程序"}} flask/json_support -.-> lab-136335{{"构建一个 Flask 应用程序"}} flask/useful_internals -.-> lab-136335{{"构建一个 Flask 应用程序"}} flask/blueprint_objects -.-> lab-136335{{"构建一个 Flask 应用程序"}} flask/command_line_interface -.-> lab-136335{{"构建一个 Flask 应用程序"}} end

创建应用程序目录

首先,你需要为你的应用程序创建一个目录。这将作为主文件夹,你应用程序的所有必要文件都将存储在其中。

cd ~/project
mkdir flaskr

设置应用程序工厂

接下来,在 flaskr 目录中创建一个 __init__.py 文件。此文件有两个作用:它将包含应用程序工厂,并且向 Python 表明 flaskr 目录应被视为一个包。

在你的 __init__.py 文件中,导入必要的模块并定义一个函数 create_app(),该函数将实例化并配置你的应用程序。

## flaskr/__init__.py

import os
from flask import Flask

def create_app(test_config=None):
    ## 创建并配置应用程序
    app = Flask(__name__, instance_relative_config=True)
    app.config.from_mapping(
        SECRET_KEY='dev',
        DATABASE=os.path.join(app.instance_path, 'flaskr.sqlite'),
    )

    ## 更多代码将在此处添加...

    return app

配置应用程序

在同一个 __init__.py 文件中,为你的应用程序添加必要的配置细节。这包括设置一个密钥并指定数据库文件的位置。

## flaskr/__init__.py

## 上面还有更多代码...

if test_config is None:
    ## 如果不是在测试,加载实例配置(如果存在)
    app.config.from_pyfile('config.py', silent=True)
else:
    ## 如果传入了测试配置,则加载测试配置
    app.config.from_mapping(test_config)

## 确保实例文件夹存在
try:
    os.makedirs(app.instance_path)
except OSError:
    pass

## 一个简单的页面,显示“Hello”
@app.route('/')
def hello():
    return 'Hello, World!'

运行应用程序

在你的应用程序设置和配置完成后,现在你可以使用 flask 命令来运行它。请确保从顶级目录运行此命令,而不是从 flaskr 包中运行。

flask --app flaskr run --debug --host=0.0.0.0

你应该会看到类似这样的输出:

 * Serving Flask app "flaskr"
 * Debug mode: on
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: nnn-nnn-nnn

然后,打开 Web 5000 标签页,你应该会看到如下内容:

Flask应用程序的Hello World页面

总结

恭喜你,你已经成功创建并运行了你的第一个 Flask 应用程序!这个基础应用程序可以作为更复杂项目的起点。Flask 的灵活性和简易性使其成为 Python 网络开发的绝佳选择。