📜  烧瓶运行 - Python (1)

📅  最后修改于: 2023-12-03 15:40:48.773000             🧑  作者: Mango

烧瓶运行 - Python

烧瓶(Flask)是一款基于 Python 的 Web 开发框架。它提供了简洁灵活的设计,易于使用和扩展,是目前最受欢迎的 Python Web 框架之一。本文将为大家介绍 Flask 的基本概念和使用方法。

基本概念
路由

在 Flask 中,路由是指将请求的 URL 映射到相应的视图函数。路由由装饰器实现,使用 @app.route() 装饰器即可将视图函数绑定到相应的 URL。

from flask import Flask

app = Flask(__name__)

@app.route("/")
def index():
    return "Hello, Flask!"

在上面的代码中,app.route() 装饰器将 index() 函数绑定到了根 URL ("/") 上。当请求根 URL 时,将调用 index() 函数并返回 "Hello, Flask!"。

视图函数

视图函数是 Flask 中的核心概念,它接收请求并返回响应。视图函数可以返回字符串、HTML 模板、JSON 数据等不同类型的响应。在视图函数中,可以通过读取请求参数、请求头、Cookie 等信息来处理请求。

from flask import Flask

app = Flask(__name__)

@app.route("/")
def index():
    return "Hello, Flask!"

@app.route("/user/<username>")
def show_user(username):
    return f"User: {username}"

在上面的代码中,show_user() 函数中的 <username> 表示动态路由,即传入的参数将作为函数的参数。当请求类似于 /user/john 的 URL 时,将调用 show_user() 函数并传入参数 "john",然后返回 "User: john"。

模板

Flask 中使用模板来生成 HTML 页面。模板引擎使用类似于 Python 的语法,通过模板变量(动态生成的内容)和模板标签(逻辑控制语句)来构建页面。

from flask import Flask, render_template

app = Flask(__name__)

@app.route("/")
def index():
    return render_template("index.html", name="Flask")

在上面的代码中,render_template() 函数将读取指定路径下的 HTML 模板文件,并将参数 name="Flask" 传入模板中。在模板中,使用 {{ name }} 语法将 name 变量输出到 HTML 页面中。

使用方法
安装

使用 pip 安装 Flask:

pip install Flask
创建 Flask 应用

在 Python 文件中创建 Flask 应用,并使用 run() 函数启动 Web 服务器:

from flask import Flask

app = Flask(__name__)

@app.route("/")
def index():
    return "Hello, Flask!"

if __name__ == "__main__":
    app.run()

在终端中运行 Python 文件即可启动 Flask 服务器,并在浏览器中访问 http://localhost:5000/ 即可看到 "Hello, Flask!"。

使用模板

在应用根目录下创建 templates 文件夹,用于存放 HTML 模板。在 HTML 模板中使用 Flask 的模板语法。

例如,创建 index.html 文件:

<!DOCTYPE html>
<html>
<head>
    <title>Flask Demo</title>
</head>
<body>
    <h1>{{ name }} Demo</h1>
</body>
</html>

在视图函数中使用 render_template() 函数渲染模板:

from flask import Flask, render_template

app = Flask(__name__)

@app.route("/")
def index():
    return render_template("index.html", name="Flask")

if __name__ == "__main__":
    app.run()

在浏览器中访问 http://localhost:5000/ 即可看到 "Flask Demo"。

使用动态路由

在 URL 中包含参数,使用类似于 <variable_name> 的语法来定义动态路由。在视图函数中,使用参数名来获取传入的值。

例如,创建 user.html 文件:

<!DOCTYPE html>
<html>
<head>
    <title>Flask Demo</title>
</head>
<body>
    <h1>User: {{ username }}</h1>
</body>
</html>

在视图函数中使用动态路由:

from flask import Flask, render_template

app = Flask(__name__)

@app.route("/")
def index():
    return "Hello, Flask!"

@app.route("/user/<username>")
def show_user(username):
    return render_template("user.html", username=username)

if __name__ == "__main__":
    app.run()

在浏览器中访问 http://localhost:5000/user/john 即可看到 "User: john"。

总结

本文介绍了烧瓶(Flask)的基本概念和使用方法,包括路由、视图函数和模板。通过本文的介绍,读者可以了解如何使用 Flask 从零开始构建 Web 应用程序。