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

相关推荐
航Hang*2 分钟前
Windows Server 配置与管理——第3章:文件系统管理
运维·服务器·windows·vmware
迷藏4946 分钟前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
lifewange28 分钟前
Linux ps 进程查看命令详解
linux·运维·服务器
功德+n36 分钟前
Linux下安装与配置Docker完整详细步骤
linux·运维·服务器·开发语言·docker·centos
明日清晨38 分钟前
python扫码登录dy
开发语言·python
bazhange1 小时前
python如何像matlab一样使用向量化替代for循环
开发语言·python·matlab
人工干智能1 小时前
科普:python中你写的模块找不到了——`ModuleNotFoundError`
服务器·python
unicrom_深圳市由你创科技1 小时前
做虚拟示波器这种实时波形显示的上位机,用什么语言?
c++·python·c#
小敬爱吃饭1 小时前
Ragflow Docker部署及问题解决方案(界面为Welcome to nginx,ragflow上传文件失败,Docker中的ragflow-cpu-1一直重启)
人工智能·python·nginx·docker·语言模型·容器·数据挖掘