Flask 网络框架入门

FlaskFlaskBeginner
立即练习

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

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

简介

本实验将指导你开始使用Flask,这是一个用于Python的轻量级Web框架。你将学习如何创建一个基本的Flask应用程序,在本地运行它,并理解路由和渲染模板的基本概念。

注意:你需要自己创建代码文件并在环境中运行它。你可以在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/sessions("`Sessions`") flask/CoreConceptsGroup -.-> flask/useful_internals("`Useful Internals`") flask/DevelopmentToolsGroup -.-> flask/blueprint_objects("`Blueprint Objects`") subgraph Lab Skills flask/incoming_request_data -.-> lab-136334{{"`Flask 网络框架入门`"}} flask/response_objects -.-> lab-136334{{"`Flask 网络框架入门`"}} flask/application_object -.-> lab-136334{{"`Flask 网络框架入门`"}} flask/sessions -.-> lab-136334{{"`Flask 网络框架入门`"}} flask/useful_internals -.-> lab-136334{{"`Flask 网络框架入门`"}} flask/blueprint_objects -.-> lab-136334{{"`Flask 网络框架入门`"}} end

安装 Flask

要开始使用 Flask,你需要安装它并设置一个新项目。请按照以下说明操作:

  1. 在终端或命令提示符中运行以下命令来安装 Flask:

    pip install flask
  2. 打开一个新文件并将其保存为 app.py

    cd ~/project
    touch app.py
  3. 导入 Flask 模块并创建 Flask 类的实例:

    from flask import Flask
    
    app = Flask(__name__)

创建基本路由

Flask 中的路由定义了应用程序的 URL 模式。让我们创建一个显示“Hello, World!”消息的基本路由。

  1. 将以下代码添加到你的 app.py 文件中:

    @app.route("/")
    def hello_world():
        return "Hello, World!"
  2. 保存文件。

运行应用程序

既然你已经设置好了 Flask 应用程序并创建了一个基本路由,现在让我们运行该应用程序并看看它的实际效果。

  1. 在终端或命令提示符中,导航到你的 app.py 文件所在的目录。

  2. 运行以下命令来启动 Flask 开发服务器:

    flask run --host=0.0.0.0

--host=0.0.0.0 用于使应用程序可以公开访问。如果你不指定此参数,应用程序将仅在你的本地机器上可用。

然后,切换到 Web 5000 标签页并刷新页面。

添加 HTML 模板

Flask 使用 Jinja2 模板来生成 HTML 内容。让我们创建一个模板文件并在路由中渲染它。

  1. 在你的项目中创建一个名为 templates 的新目录。

  2. templates 目录内,创建一个名为 index.html 的新文件。

  3. 打开 index.html 文件并添加以下 HTML 代码:

    <!doctype html>
    <html>
      <head>
        <title>Flask 快速入门</title>
      </head>
      <body>
        <h1>你好,Flask!</h1>
      </body>
    </html>
  4. 修改你的 app.py 文件以渲染 index.html 模板:

    from flask import render_template
    
    @app.route("/")
    def hello_world():
        return render_template("index.html")

再次运行应用程序

既然我们已经添加了一个 HTML 模板,那就再次运行应用程序并查看渲染后的模板。

  1. 如果 Flask 开发服务器仍在运行,请停止它(按 Ctrl+C)。

  2. 运行以下命令再次启动服务器:

    flask run --host=0.0.0.0

现在你应该会看到在 HTML 模板中显示出“你好,Flask!”的消息。

你好,Flask!

添加动态内容

Flask 允许我们将动态内容传递到模板中。让我们修改路由以传递一个名字参数并显示个性化问候语。

  1. 修改你的 app.py 文件,以便在路由中接受一个名字参数:

    @app.route("/<name>")
    def hello(name):
        return render_template("index.html", name=name)
  2. 打开 index.html 文件并修改 <h1> 标签以显示个性化问候语:

    <h1>你好,{{ name }}!</h1>

再次运行应用程序

让我们再次运行应用程序并测试动态内容功能。

  1. 如果Flask开发服务器仍在运行,请停止它(按Ctrl + C)。

  2. 运行以下命令再次启动服务器:

    flask run --host=0.0.0.0
  3. 复制Web 5000标签页的URL,并将其粘贴到浏览器的新标签页中。

复制Web 5000 URL
  1. 在URL末尾附加/LabEx并按Enter键。
你好,LabEx网页
  1. 更改URL中name参数的值,然后按Enter键。

总结

在本实验中,你学习了如何通过设置新项目、创建路由、渲染模板以及传递动态内容来开始使用 Flask。Flask 是用于构建 Web 应用程序的强大工具,本实验为进一步探索和开发奠定了坚实的基础。

您可能感兴趣的其他 Flask 教程