Python flask

Flask 是一个用 Python 编写的轻量级 Web 应用框架。它被设计为易于使用和扩展,使其成为构建简单网站到复杂的、动态的 web 应用程序的理想选择。以下是 Flask 的一些基本组件和概念:

主要组件

  1. Flask:框架本身,提供基本的功能来处理请求和响应。

  2. Werkzeug:一个工具库,提供各种用于 Web 应用的工具,如多线程支持、测试客户端等。

  3. Jinja2:一个模板引擎,用于渲染 HTML 页面。

  4. 路由:在 Flask 中,路由是 URL 规则和视图函数之间的映射。

安装 Flask

使用 pip 安装 Flask:

复制代码
pip install Flask

创建基本的 Flask 应用

复制代码
from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'

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

在这个例子中,我们创建了一个简单的 Flask 应用,它在根 URL (/) 上提供了一个 hello_world 视图函数,返回字符串 'Hello, World!'。

运行 Flask 应用

保存上述代码到文件(例如 app.py),然后在终端中运行:

复制代码
flask run

或者直接使用 Python:

复制代码
python app.py

默认情况下,应用将在 localhost:5000 上运行。

路由和视图函数

在 Flask 中,路由是定义 URL 端点和处理这些端点的 Python 函数的方式。例如:

复制代码
@app.route('/users/<username>')
def show_user_profile(username):
    # 用户名通过 username 参数传入
    return 'User: %s' % username

模板渲染

Flask 使用 Jinja2 模板引擎来生成 HTML 页面:

复制代码
from flask import render_template

@app.route('/users')
def list_users():
    users = ['Alice', 'Bob', 'Charlie']
    return render_template('users.html', title='Users', users=users)

表单处理

Flask 可以处理 HTML 表单,使用 request 对象来获取表单数据:

复制代码
from flask import request

@app.route('/submit', methods=['POST'])
def submit():
    if request.method == 'POST':
        username = request.form['username']
        # 处理其他表单数据
        return 'User: %s' % username

数据库操作

Flask 可以与多种数据库后端一起使用,通常使用 ORM(如 SQLAlchemy)来管理数据库操作:

复制代码
from flask_sqlalchemy import SQLAlchemy

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

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True, nullable=False)
    # 定义其他字段和关系

# 与数据库交互
new_user = User(username='JohnDoe')
db.session.add(new_user)
db.session.commit()

Flask 的灵活性和易用性使其成为 Python Web 开发的流行选择。通过以上基础,你可以开始构建自己的 Flask Web 应用,并根据需要添加更多的功能和模块。

相关推荐
databook13 小时前
Manim实现闪光轨迹特效
后端·python·动效
Juchecar15 小时前
解惑:NumPy 中 ndarray.ndim 到底是什么?
python
用户83562907805115 小时前
Python 删除 Excel 工作表中的空白行列
后端·python
Json_15 小时前
使用python-fastApi框架开发一个学校宿舍管理系统-前后端分离项目
后端·python·fastapi
数据智能老司机1 天前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机1 天前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机1 天前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机1 天前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i1 天前
drf初步梳理
python·django
每日AI新事件1 天前
python的异步函数
python