欢迎访问宙启技术站
智能推送

Flask入门教程:从零开始学习Flask框架

发布时间:2023-12-23 06:57:03

Flask是一个轻量级的Python Web框架,它基于Werkzeug和Jinja2构建,非常适合快速开发小型的Web应用程序。本教程将带你从零开始学习如何使用Flask框架,并提供一些使用例子来帮助你更好地理解。

1. 安装Flask

首先,你需要安装Flask。你可以使用pip命令在命令行中安装Flask:

pip install flask

2. 创建一个简单的Flask应用

创建一个名为app.py的文件,然后输入以下代码:

from flask import Flask

app = Flask(__name__)

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

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

这个简单的应用定义了一个根路由“/”,当你访问这个路由时,会返回一个"Hello, Flask!"的字符串。

3. 运行应用

在命令行中运行以下命令启动应用:

python app.py

你会看到输出的网址,默认为http://127.0.0.1:5000/。在浏览器中打开这个地址,你将看到"Hello, Flask!"的字符串。

4. 动态路由

Flask支持使用动态路由来接收不同的URL参数。修改app.py文件,添加如下代码:

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

@app.route("/post/<int:post_id>")
def show_post(post_id):
    return f"Post ID: {post_id}"

这样,当你访问类似于/user/john这样的URL时,将会显示"User: john";而访问类似于/post/123这样的URL时,将会显示"Post ID: 123"。

5. 模板渲染

Flask使用Jinja2模板引擎来将数据渲染到HTML模板中。创建一个名为templates的文件夹,在其中创建一个名为index.html的文件,输入以下代码:

<!DOCTYPE html>
<html>
<head>
    <title>Flask Tutorial</title>
</head>
<body>
    <h1>{{ title }}</h1>
    <p>Welcome to Flask tutorial!</p>
</body>
</html>

修改app.py文件,添加如下代码:

from flask import render_template

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

这个例子就是将Flask应用返回的数据渲染到HTML模板中,然后将渲染的结果返回给浏览器显示。

6. 表单处理

Flask提供了简便的表单处理功能。修改app.py文件,添加如下代码:

from flask import request, redirect, url_for

@app.route("/login", methods=["GET", "POST"])
def login():
    if request.method == "POST":
        username = request.form["username"]
        password = request.form["password"]
        # 这里可以添加登录逻辑
        return redirect(url_for("profile", username=username))
    return render_template("login.html")

创建一个名为login.html的HTML文件,输入以下代码:

<!DOCTYPE html>
<html>
<head>
    <title>Login</title>
</head>
<body>
    <h1>Login</h1>
    <form action="{{ url_for('login') }}" method="post">
        <input type="text" name="username" placeholder="Username"><br>
        <input type="password" name="password" placeholder="Password"><br>
        <input type="submit" value="Login">
    </form>
</body>
</html>

这个例子演示了如何使用Flask处理表单提交,获取用户名和密码,并进行登录逻辑处理。

这只是Flask的入门教程的一部分,Flask还有很多其他功能和用法。你可以继续深入学习Flask,了解更多的功能和高级用法。希望这个简单的入门教程能够帮助你入门Flask框架。