📅  最后修改于: 2023-12-03 15:40:48.773000             🧑  作者: Mango
烧瓶(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
在 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 应用程序。