Python Flask 全流程全栈项目实战完JIE

2024-04-17 16:46:00 浏览数 (2)

Python Flask 全流程全栈项目实战

Python Flask介绍

Flask 是一个轻量级的 Python web 应用框架,它由 Armin Ronacher 开发。它主要用于快速开发 Web 应用程序和 API。Flask 是一个简单、灵活且易于扩展的框架,特别适合小型到中型的应用程序开发。

以下是 Flask 的一些主要特点和优势:

  1. 轻量级和简单: Flask 设计简洁,核心功能不依赖外部库,基于 Werkzeug WSGI 工具包和 Jinja2 模板引擎实现。
  2. 易于上手: Flask 的 API 设计直观,学习曲线平缓,可以很快上手并开始构建应用。
  3. 灵活性: Flask 鼓励开发者使用自己喜欢的库和工具,没有强加的项目布局或第三方库的依赖。
  4. 可扩展性: Flask 允许通过插件和扩展来添加功能,从而根据项目需求灵活地扩展应用功能。
  5. 集成度高: Flask 支持许多常用的扩展,如处理表单数据、验证用户会话、处理数据库等。
  6. 模板引擎: Flask 使用 Jinja2 模板引擎,支持模板继承和宏等功能,用于生成动态 HTML 内容。
  7. RESTful 请求处理: Flask 提供了轻松构建 RESTful API 的能力,支持 GET、POST、PUT、DELETE 等 HTTP 方法。
  8. 适用于测试: Flask 提供了测试客户端,可以方便地编写和运行测试用例,确保应用程序的可靠性。

一个简单的 Flask 应用程序通常由一个 Python 脚本构成,它定义了路由、视图函数和应用配置。

代码语言:python代码运行次数:0复制
from flask import Flask

app = Flask(__name__)

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

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

Python Flask 全流程全栈项目实战 - Flask 实现 Cookie

Flask 是一个用 Python 编写的轻量级 Web 应用框架。在 Flask 中实现 Cookie 的设置、读取和删除是一个相对简单的过程。以下是如何使用 Flask 来处理 Cookie 的基本步骤:

设置 Cookie

在 Flask 中,可以使用 set_cookie() 方法来设置响应中的 Cookie。这个方法可以在返回的响应对象上调用。

代码语言:python代码运行次数:0复制
from flask import make_response

@app.route('/set_cookie')
def set_cookie():
    response = make_response('Cookie has been set')
    response.set_cookie('cookie_name', 'cookie_value')
    return response

读取 Cookie

要读取 Cookie,可以使用 request 对象的 cookies 属性。这个属性包含了一个字典,其中包含了客户端发送的所有 Cookie。

代码语言:python代码运行次数:0复制
from flask import request, abort

@app.route('/get_cookie')
def get_cookie():
    if 'cookie_name' in request.cookies:
        cookie_value = request.cookies['cookie_name']
        return f'The value of the cookie is {cookie_value}'
    else:
        abort(404, description='Cookie not found')

修改 Cookie

修改 Cookie 通常意味着设置一个新的值。在 Flask 中,你可以像设置一个新的 Cookie 那样来修改它。

代码语言:python代码运行次数:0复制
@app.route('/modify_cookie')
def modify_cookie():
    response = make_response('Cookie has been modified')
    response.set_cookie('cookie_name', 'new_cookie_value')
    return response

删除 Cookie

要删除 Cookie,可以设置其过期时间为一个过去的时间点。

代码语言:python代码运行次数:0复制
from datetime import datetime, timedelta

@app.route('/delete_cookie')
def delete_cookie():
    response = make_response('Cookie has been deleted')
    response.set_cookie('cookie_name', expires=datetime.utcnow() - timedelta(days=365))
    return response

注意事项

  • Cookie 是客户端存储的,这意味着它们可以被用户查看或修改。因此,不要将敏感信息存储在 Cookie 中。
  • 使用 HTTPS 可以防止中间人攻击读取传输过程中的 Cookie。
  • Flask 默认不使用签名或加密来设置 Cookie。为了提高安全性,可以使用 Flask 的 session 对象来存储敏感信息,它默认使用服务器端存储,并提供签名。

0 人点赞