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

相关推荐
MediaTea25 分钟前
Python 第三方库:lxml(高性能 XML/HTML 解析与处理)
xml·开发语言·前端·python·html
zzz100662 小时前
Shell 编程基础(续):流程控制与实践
linux·运维·服务器
mit6.8242 小时前
[AI人脸替换] docs | 环境部署指南 | 用户界面解析
人工智能·python
fantasy_arch2 小时前
Pytorch超分辨率模型实现与详细解释
人工智能·pytorch·python
wu_jing_sheng02 小时前
ArcPy 断点续跑脚本:深度性能优化指南
python
ss2732 小时前
手写MyBatis第39弹:深入MyBatis BatchExecutor实现原理与最佳实践
前端·javascript·html
leon_teacher3 小时前
HarmonyOS权限管理应用
android·服务器·前端·javascript·华为·harmonyos
lumi.3 小时前
HarmonyOS image组件深度解析:多场景应用与性能优化指南(2.4详细解析,完整见uniapp官网)
前端·javascript·小程序·uni-app·html·css3
三坛海会大神5553 小时前
《Shell 大道:筑基篇(下)—— 流控筑根基,数据任驱驰》
linux·运维·服务器·bash
playStudy4 小时前
从0到1玩转 Google SEO
python·搜索引擎·github·全文检索·中文分词·solr·lucene