Flask模块如何使用

Flask 是一个轻量级的 Python Web 框架,以其简洁性和灵活性著称。以下是一些关键点和使用方法:

安装 Flask

通过 pip 安装 Flask:

bash 复制代码
pip install flask

创建基本应用

创建一个简单的 Flask 应用:

python 复制代码
from flask import Flask
app = Flask(__name__)

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

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

路由与视图

定义路由和视图函数:

python 复制代码
@app.route('/about')
def about():
    return 'About Page'

模板渲染

使用 Jinja2 模板引擎渲染 HTML:

python 复制代码
from flask import render_template

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

静态文件

将静态文件(如 CSS、JS)放在 static 文件夹中,通过 URL 访问:

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

请求处理

处理表单数据:

python 复制代码
from flask import request

@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        username = request.form['username']
        return f'Hello, {username}!'
    return render_template('login.html')

重定向与 URL 生成

使用 redirect 和 url_for:

python 复制代码
from flask import redirect, url_for

@app.route('/admin')
def admin():
    return redirect(url_for('home'))

错误处理

自定义错误页面:

python 复制代码
@app.errorhandler(404)
def page_not_found(error):
    return render_template('404.html'), 404

数据库集成

使用 Flask-SQLAlchemy 进行数据库操作:

python 复制代码
from flask_sqlalchemy import SQLAlchemy

app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db'
db = SQLAlchemy(app)

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

部署

使用 Gunicorn 或 Waitress 部署 Flask 应用:

bash 复制代码
gunicorn -w 4 -b 0.0.0.0:5000 app:app

Flask 的轻量级设计使其非常适合快速开发和原型设计,同时也支持通过扩展实现复杂功能。

相关推荐
房开民10 分钟前
通俗总结 Octree(八叉树)
java·服务器·数据库
jack1868925 分钟前
Github Copilot 高效开发实战场景指南
python
AIFQuant25 分钟前
Python A股实时行情API接入:沪深股票数据与WebSocket推送实战
开发语言·python·websocket·金融·a股行情
小小龙学IT26 分钟前
Python Matplotlib 数据可视化库深度解析
python·信息可视化·matplotlib
小小张说故事39 分钟前
Python 到底是值传递还是引用传递?一个赋值实验讲透,别再背结论了
python
Maxwin40 分钟前
AI 生成的视频怎么局部修改?2026 年分章生成 Manim 代码的最新做法
python·aigc
ShineWinsu1 小时前
对于HTML:HTML常见标签的解析—上
前端·面试·html·浏览器·标签·图片·超链接
Java后端的Ai之路1 小时前
07React_Props验证器
人工智能·python·react.js·架构·fastapi
Eider19981 小时前
为Loop Engineering装刹车
python·vibe coding·agent设计模式·loopengineering
云飞云共享云桌面1 小时前
智能装备数字化转型:云飞云云桌面助力苏州工厂共享 SolidWorks 算力
运维·服务器·3d·自动化·制造