Flask Python Web开发:从入门到实战教程

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

什么是Flask?为什么选择它?

Flask是一个基于Python的轻量级Web开发微框架,凭借其简洁性和灵活性广受欢迎。Python Web开发需求日益增长,而Flask作为轻巧而强大的工具,在其中扮演着关键角色。

Flask的核心优势在于其极简主义和可扩展性。该框架不强加严格的架构,允许开发者仅使用必要的组件。这使得Flask成为构建小型网站和复杂Web应用的理想选择。

Flask Web开发的主要优势

Flask为开发者提供了众多优势:

  • 学习门槛低,新手也能快速上手
  • 架构选择和组件使用灵活自由
  • 活跃的社区和丰富的扩展生态
  • 既能快速构建原型,也能开发生产级应用
  • 完全掌控项目结构

常用的Flask扩展包括用于表单处理的Flask-WTF、用于用户认证的Flask-Login、用于数据库迁移的Flask-Migrate等。

安装Flask并创建第一个应用

安装Flask

开始使用Flask前,需要通过pip进行安装:

pip install Flask

创建基础应用

一个最简单的Flask应用代码如下:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
    return "你好,世界!"

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

这段代码创建了一个Web服务器,响应根路由的GET请求。参数debug=True启用调试模式,代码修改后服务器会自动重启。

Flask项目结构

合理的项目结构对于Web应用的维护和扩展至关重要。良好的结构有助于团队协作、测试和扩展。

推荐的目录结构

my_flask_app/
├── app/
│   ├── __init__.py
│   ├── routes.py
│   ├── models.py
│   ├── forms.py
│   └── templates/
│       └── index.html
│   └── static/
├── config.py
└── run.py

各文件及文件夹的作用

  • init.py — 应用初始化文件,包含Flask实例的创建
  • routes.py — 定义路由和请求处理函数
  • models.py — 包含数据库操作的数据模型
  • forms.py — 使用Flask-WTF定义表单
  • templates/ — 存放用于页面渲染的HTML模板
  • static/ — 存放静态文件(CSS、JavaScript、图片等)
  • config.py — 应用配置文件,包含各项设置
  • run.py — 应用启动入口文件

应用初始化

在app/__init__.py文件中,通常完成Flask应用的创建和配置:

from flask import Flask
from config import Config

def create_app():
    app = Flask(__name__)
    app.config.from_object(Config)
    
    from app.routes import bp
    app.register_blueprint(bp)
    
    return app

Flask表单处理

处理用户通过表单提交的数据是Web开发的核心任务之一。Flask提供了多种表单处理方式,其中最便捷且安全的是使用Flask-WTF扩展。

安装Flask-WTF


                    

博客

书籍推荐