【揭秘 Flask】實戰案例帶你輕鬆入門Web開發

提問者:用戶TYVZ 發布時間: 2025-06-08 05:00:01 閱讀時間: 3分鐘

最佳答案

引言

Flask 是一個輕量級的 Web 框架,基於 Python 言語編寫,廣泛利用於 Web 開辟範疇。它以其簡潔、易用、可擴大年夜性強等特點,遭到眾多開辟者的愛好。本文將經由過程一系列實戰案例,帶你輕鬆入門 Flask Web 開辟。

一、情況搭建

1. 安裝 Python

起首,確保你的打算機上安裝了 Python。你可能從 Python 官網下載並安裝最新版本的 Python。

2. 安裝 Flask

安裝 Flask 非常簡單,只有利用 pip 命令即可:

pip install flask

二、創建 Flask 利用順序

1. 創建項目構造

創建一個名為 my_flask_app 的目錄,並在其中創建以下文件跟文件夾:

my_flask_app/
│
├── app.py
├── templates/
│   └── index.html
└── static/
    └── style.css

2. 編寫 Flask 利用順序

打開 app.py 文件,編寫以下代碼:

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def index():
    return render_template('index.html')

if __name__ == '__main__':
    app.run(debug=True)

3. 創建 HTML 模板

templates 文件夾中創建一個名為 index.html 的文件,編寫以下代碼:

<!DOCTYPE html>
<html>
<head>
    <title>My Flask App</title>
    <link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
</head>
<body>
    <h1>Welcome to my Flask App!</h1>
</body>
</html>

4. 創建靜態文件

static 文件夾中創建一個名為 style.css 的文件,編寫以下代碼:

body {
    font-family: Arial, sans-serif;
    background-color: #f4f4f4;
}

三、運轉 Flask 利用順序

在終端中,切換到 my_flask_app 目錄,並運轉以下命令:

python app.py

在瀏覽器中拜訪 http://127.0.0.1:5000/,你將看到如下頁面:

Welcome to my Flask App!

四、實戰案例:用戶註冊與登錄

1. 創建用戶模型

起首,我們須要創建一個用戶模型,用於存儲用戶信息。我們可能利用 Flask-SQLAlchemy 擴大年夜來實現這一點。

pip install flask-sqlalchemy

app.py 文件中,增加以下代碼:

from flask import Flask, render_template, request, redirect, url_for
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///users.db'
db = SQLAlchemy(app)

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True, nullable=False)
    password = db.Column(db.String(120), nullable=False)

# 創建數據庫表
db.create_all()

2. 創建註冊跟登錄視圖

app.py 文件中,增加以下代碼:

@app.route('/register', methods=['GET', 'POST'])
def register():
    if request.method == 'POST':
        username = request.form['username']
        password = request.form['password']
        new_user = User(username=username, password=password)
        db.session.add(new_user)
        db.session.commit()
        return redirect(url_for('login'))
    return render_template('register.html')

@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        username = request.form['username']
        password = request.form['password']
        user = User.query.filter_by(username=username, password=password).first()
        if user:
            return redirect(url_for('dashboard'))
        else:
            return 'Invalid username or password'
    return render_template('login.html')

3. 創建 HTML 模板

templates 文件夾中創建 register.htmllogin.html 文件,分辨編寫以下代碼:

<!-- register.html -->
<!DOCTYPE html>
<html>
<head>
    <title>Register</title>
</head>
<body>
    <h1>Register</h1>
    <form method="post">
        <label for="username">Username:</label>
        <input type="text" id="username" name="username" required>
        <label for="password">Password:</label>
        <input type="password" id="password" name="password" required>
        <button type="submit">Register</button>
    </form>
</body>
</html>
<!-- login.html -->
<!DOCTYPE html>
<html>
<head>
    <title>Login</title>
</head>
<body>
    <h1>Login</h1>
    <form method="post">
        <label for="username">Username:</label>
        <input type="text" id="username" name="username" required>
        <label for="password">Password:</label>
        <input type="password" id="password" name="password" required>
        <button type="submit">Login</button>
    </form>
</body>
</html>

4. 運轉 Flask 利用順序

運轉 Flask 利用順序,並在瀏覽器中拜訪以下 URL:

  • 註冊:http://127.0.0.1:5000/register
  • 登錄:http://127.0.0.1:5000/login

實現註冊跟登錄後,你可能拜訪儀錶板頁面:http://127.0.0.1:5000/dashboard

五、總結

經由過程本文的實戰案例,你已成功入門 Flask Web 開辟。接上去,你可能根據本人的須要,持續進修跟摸索 Flask 框架的其他功能,如路由、模板、數據庫、表單驗證等。祝你進修高興!

相關推薦