🌟 Flask 入门笔记
本文最后更新于 48 天前,其中的信息可能已经有所发展或是发生改变。

📌 一、Flask 是什么?

Flask 是一个微框架,意思是不强制你用某种结构,也不自带数据库、表单验证等功能,但你可以根据需要添加插件,轻装上阵。

特点:

  • 🪶 轻量灵活
  • 🧩 可扩展性强
  • 🐍 用 Python 写的,语法自然
  • 🚀 入门门槛低

🧰 二、开发环境准备

1. 安装 Python(推荐 3.8+)

可到官网下载:https://www.python.org/downloads/

安装时记得勾选:✅ Add Python to PATH

2. 创建项目文件夹

mkdir flask_tutorial
cd flask_tutorial

3. 创建虚拟环境(推荐)

python -m venv venv
venv\Scripts\activate  # Windows
source venv/bin/activate  # Mac/Linux

4. 安装 Flask

pip install flask

🚀 三、第一个 Flask 应用

创建一个文件 app.py

from flask import Flask

app = Flask(__name__)

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

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

启动应用:

python app.py

浏览器访问:http://127.0.0.1:5000


📂 四、项目结构推荐

flask_tutorial/
├── app.py
├── static/        # 静态文件(css/js/images)
├── templates/     # HTML模板文件
└── venv/          # 虚拟环境文件夹

🧭 五、路由与视图函数

定义一个带参数的路由:

@app.route('/user/<username>')
def show_user(username):
    return f'用户:{username}'

🎨 六、使用模板(Jinja2)

templates/ 中创建 index.html

<!-- templates/index.html -->
<!DOCTYPE html>
<html>
<head><title>首页</title></head>
<body>
    <h1>欢迎,{{ name }}!</h1>
</body>
</html>

app.py 中渲染它:

from flask import render_template

@app.route('/welcome/<name>')
def welcome(name):
    return render_template('index.html', name=name)

📦 七、静态文件管理

创建 static/style.css

body {
    background-color: #f0f0f0;
    font-family: Arial;
}

在模板中使用:

<link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">

📝 八、表单处理

HTML 表单:

<!-- templates/form.html -->
<form method="post">
    姓名:<input type="text" name="username">
    <input type="submit" value="提交">
</form>

Flask 处理表单数据:

from flask import request

@app.route('/submit', methods=['GET', 'POST'])
def submit():
    if request.method == 'POST':
        username = request.form['username']
        return f'你提交了:{username}'
    return render_template('form.html')

🛢️ 九、连接数据库(以 SQLite 为例)

安装扩展:

pip install flask_sqlalchemy

使用 SQLAlchemy:

from flask_sqlalchemy import SQLAlchemy

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)

# 创建数据库
with app.app_context():
    db.create_all()

🔒 十、用户登录系统

pip install flask-login

基本流程:

  • 创建用户模型
  • 设置用户登录状态
  • 设置登录视图、登出视图
  • 使用 @login_required 装饰器保护路由

完整实现比较复杂。


🧪 十一、Flask 单元测试

import unittest

class FlaskTestCase(unittest.TestCase):
    def setUp(self):
        self.app = app.test_client()
        self.app.testing = True

    def test_home(self):
        response = self.app.get('/')
        self.assertEqual(response.status_code, 200)
        self.assertIn(b'Hello', response.data)

📦 十二、打包与部署

1. 创建 requirements.txt

pip freeze > requirements.txt

2. 生产部署方式推荐使用 Gunicorn + Nginx(Linux)

pip install gunicorn
gunicorn app:app

🧠 十三、常用扩展库推荐

名称说明
Flask-SQLAlchemyORM,操作数据库
Flask-WTF表单处理和CSRF保护
Flask-Login登录系统
Flask-Migrate数据库迁移管理
Flask-RESTful快速构建REST API
Flask-Caching缓存管理

🏁 总结

Flask 是一个灵活又强大的 Web 框架,适合初学者从小项目入手,逐步深入构建复杂系统。

建议学习路线:

  1. 理解路由和模板渲染
  2. 学会处理表单和请求
  3. 学习数据库操作
  4. 实现用户认证系统
  5. 尝试部署项目到云端(如 Render、Heroku、VPS 等)

觉得有帮助可以分享给需要的人哦~感谢!
作者:时分渺OvO
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0协议
转载请注明文章地址及作者哇~
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇