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 生成

使用 redirecturl_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 的轻量级设计使其非常适合快速开发和原型设计,同时也支持通过扩展实现复杂功能。

相关推荐
luod3 分钟前
Python异常链
python
我有一棵树7 分钟前
file 协议与 http 协议的区别:为什么本地 HTML 无法加载相对路径 JS,以及正确的解决方式
javascript·http·html
我不是QI38 分钟前
周志华《机器学习---西瓜书》 一
人工智能·python·机器学习·ai
今天没ID39 分钟前
Python 编程实战:从基础语法到算法实现 (1)
python
二川bro1 小时前
Python在AI领域应用全景:2025趋势与案例
开发语言·人工智能·python
棒棒的皮皮1 小时前
【Python】Open3d用于3D测高项目
python·3d·open3d
CodeLongBear2 小时前
Python数据分析: 数据可视化入门:Matplotlib基础操作与多坐标系实战
python·信息可视化·数据分析
李晨卓2 小时前
python学习之不同储存方式的操作方法
python·代码规范
丸子哥哥2 小时前
同一个域名,如何添加多个网站?
服务器·前端·nginx·微服务
站大爷IP2 小时前
实战:爬取某联招聘职位需求并生成词云——从零开始的完整指南
python