- 博客(63)
- 收藏
- 关注
原创 React 中 props 的最常用用法精选+useContext
const UserContext = createContext({ name: "匿名用户" });function Welcome({ greeting = "你好" }) {return (<UserContext.Provider value={{ name: "小红" }}><Welcome greeting="欢迎回来" />方式说明props用于组件直接传递数据,一层层传useContext用于全局或跨层组件数据共享(主题/用户/语言)混合使用。
2025-07-16 21:26:31
458
原创 Fastapi 中间件
这是 FastAPI(实际上是 Starlette)的中间件系统的标准使用方式。方法就是你插入自定义逻辑(如日志、权限、异常捕获等)的“钩子”;所有请求生命周期的中间处理逻辑,都可以写在这里。是 Starlette 提供的中间件基类;
2025-07-13 12:58:16
200
原创 在 Microsoft Edge 中,你可以使用 IE 兼容模式(Internet Explorer Mode)来运行 IE 内核 的网站。
(Internet Explorer Mode)来运行。你是想访问某个老旧网站,还是遇到了兼容性问题?如果你仍然需要完整的。
2025-07-13 11:10:46
584
原创 Django 中的多对多关系(ManyToManyField)三种定义方式
中间模型可添加自定义字段(如创建时间、角色等)更灵活,但略复杂方式是否有中间模型是否能添加中间字段快捷方法(add/remove/set)推荐用途默认 ManyToManyField❌(Django 自动)❌✅ 可用简单多对多关系✅✅❌ 被禁用多对多且需附加字段场景完全手动中间模型✅✅❌ 全部禁用高度自定义业务、底层控制场景。
2025-06-25 01:35:25
442
原创 JavaScript中的命名导出(暴露)
类型写法示例导入方式特点分别暴露可多次写、导入时必须加花括号统一暴露统一管理、导入规则同分别暴露默认暴露只允许一个、导入时不加花括号组件:默认导出工具函数:命名导出(统一导出更整洁)
2025-05-30 23:36:33
385
原创 python模块管理环境变量
在 Python 应用中,为了将配置信息与代码分离、增强安全性并支持多环境(开发、测试、生产)运行,使用专门的模块来管理环境变量是最佳实践。:分层配置系统,支持多格式配置文件(TOML/YAML/JSON/INI)、Vault/Redis、环境变量覆盖和 CLI 工具 (通过上述工具和实践,你可以为不同规模和需求的 Python 应用,选用最合适的环境变量管理方案,确保配置安全、可维护且易于切换。:更严格地将配置与代码分离,支持类型转换、INI 和。:简化变量解析与验证,支持多种类型、变量前缀、
2025-05-24 20:20:10
662
原创 django的权限角色管理(RBAC)
在 Django 中,、 和 是权限系统的核心组件。下面通过代码示例演示它们的 CRUD(创建、读取、更新、删除) 操作:三、Permission 模型 CRUD四、关联操作1. 用户与组的关联2. 用户与权限的直接关联五、查询示例1. 获取用户的所有权限2. 检查用户是否有某个权限3. 获取组的所有成员六、特殊操作1. 创建超级用户2. 修改用户密码*************** 模型关系图 ********
2025-05-10 15:11:58
699
原创 Vue 组件通信方式总览
通信场景推荐方法父子propsemit父子双向绑定v-model祖孙provideinject兄弟eventBus跨越整个项目Pinia父直接操控子ref内容传递slot。
2025-04-28 10:51:12
417
原创 WhiteNoise的用法
只需几行配置,WhiteNoise 便可让您的 Web 应用提供自己的静态文件,使其成为一个独立的单元,可部署在任何地方,而无需依赖 nginx、Amazon S3 或任何其他外部服务。(在 Heroku、OpenShift 和其他 PaaS 提供商上尤其有用。它旨在与高流量站点的 CDN 完美配合,因此您不必牺牲性能即可享受简单性。WhiteNoise 可与任何兼容 WSGI 的应用程序配合使用,但针对 Django 有一些特殊的自动配置功能。
2025-03-02 18:44:35
413
原创 Django的runserver
set_app执行的是fromwsgiref.simple_serverimportWSGIServer下的方法。serve_forever执行的是fromsocketserverimportBaseServer。,并且根据需要扩展了相关功能,例如支持IPv6和定制错误处理等。Django在这部分代码中通过自定义的。类与WSGI服务器进行关联。具体来说,Django使用。作为服务器基础类,它继承了。
2025-01-06 22:13:50
724
原创 JWT的生成和工作原理
JWT(JSON Web Token)是一种开放标准(RFC 7519),用于在各方之间以 JSON 对象的形式安全地传递信息。头部(Header)载荷(Payload)签名(Signature)这些部分通过Base64 URL 编码后组合在一起,形成一个完整的 JWT Token,通常用于身份验证和信息交换。JWT 是一种非常流行且强大的身份验证与信息交换标准。它具有自包含、无状态等特点,适合分布式系统和微服务架构的应用。
2024-12-24 22:54:55
996
原创 Python中的抽象类
抽象类父类约束子类的一种行为称为抽象类是一个不能被实例化的类,用来作为其他类的基类。它定义了某些方法,但不提供具体实现要求子类必须实现这些方法。作用。
2024-12-20 16:45:41
252
原创 Django Auth的基本使用
auth 组件导包from django.contrib import auth1. 登录 对比用户和秘密是否正确 user_obj = auth.authenticate(request, username=username, password=password) 保存用户信息 (存到 djang_session表中) auth.login(request, user_obj)1.1 def login(request):
2024-12-01 17:14:44
916
原创 Django 自定义路由转换器
定义 一个匹配非数字的全局注册局部注册假设需要自定义一个转换器 ,用于匹配四位年份。注册转换器在 中注册自定义转换器:视图函数反向解析
2024-11-25 14:18:16
639
原创 Django中 model 一对一 一对多 多对多关系 关联
使用定义一对一关系,表示一个模型实例与另一个模型实例一一对应。示例# 使用示例# 假设已经有一个 User 实例 useron_deleteCASCADE: 删除相关对象。SET_NULL: 设置为NULL。PROTECT: 阻止删除。: 设置为默认值。
2024-11-23 15:32:06
770
原创 深入探究 Flask 的应用和请求上下文
因此,浏览器会向 Web 服务器(如 Nginx 或 Apache)发送请求,以请求特定的 URL(上图中的“/”URL)。的概念,用于存储特定于线程的数据,它既是“线程安全的,又是线程唯一的”。现在 Flask 应用程序已准备好处理数据(在视图函数中),并且数据已在应用程序和请求上下文堆栈中准备就绪,我们需要一种方法来连接这两部分......在上一节中,我们了解了在 Flask 中处理请求时如何使用应用程序上下文堆栈和请求上下文堆栈。同时,请求上下文存储需要处理以生成响应的特定于请求的数据。
2024-09-18 16:49:23
1293
原创 Flask-JWT-Extended登录验证, 不用自定义
access_token = create_access_token(identity=username, fresh=True) # fresh=True 创建新鲜令牌。access_token = create_access_token(identity=username, fresh=True) # fresh=True 创建新鲜令牌。# max_age=60 * 60 * 24 * 7 # 7天有效期。# max_age=60 * 60 * 24 * 7 # 7天有效期。
2024-09-18 00:32:39
1564
原创 Flask-SQLAlchemy一对多 一对一 多对多关联
在实际使用中,通过这些关联关系,可以方便地进行查询、添加、更新和删除等操作,例如获取某个作者的所有书籍,或者获取某个用户的资料等。(书籍),一个作者可以有多本书。(用户资料)是一对一的关系。外键来建立一对多的关系。在上述示例中,通过在。(作者)和 Book。在上述示例中,通过在。
2024-09-17 22:13:14
799
原创 JavaScript创建对象方式
/ 自动创建对象// 手动向对象里面添加成员// 这里的 this 指向当前实例(new 前面的变量)// 自动返回对象。
2024-09-17 21:46:28
333
原创 Flask 设置cookies 自定义验证登录
HTTPOnly (httponly): 指定 cookie 是否只能通过 HTTP 协议访问,避免 JavaScript 读取。max_age=datetime.timedelta(hours=2), # 设置会话有效期时间。max_age=datetime.timedelta(hours=2), # 设置会话有效期时间。路径 (path): 指定 cookie 在什么路径下有效。过期时间 (expires): 指定 cookie 何时过期。3. 设置cookies会话有效期。
2024-09-17 21:43:00
1242
原创 Flask 设置session 自定义登录验证
app.permanent_session_lifetime = datetime.timedelta(days=2) # 会话有效期2天。app.permanent_session_lifetime = 60 * 60 * 24 * 7 # 会话有效期7天。1. session.permanent = True # 设置会话过期时间。session.permanent = True # 设置会话过期时间。2. # 两种设置会话有效期时间方法。3. 设置session会话有效期。
2024-09-17 21:39:13
801
原创 Flask-JWT-Extended登录验证
"""安装:创建对象 初始化与app绑定jwt = JWTManager(app) # 初始化JWTManager设置 Cookie 的选项:除了设置 cookie 的名称和值之外,你还可以指定其他的选项,例如:过期时间 (max_age): 指定 cookie 何时过期。# max_age=60 * 60 * 24 * 7 # 7天有效期1. 设置cookies# 设置cookies成功 重定向到首页# 创建JWT token,只存储用户名。
2024-09-17 21:06:47
2109
原创 hashlib 各种加密的使用
的成本因子(cost factor)控制了哈希计算的复杂度,默认为 12。是现代密码哈希的推荐选择之一,特别适合在需要高安全性、需要防止大规模硬件破解的场景中使用。被广泛认为是安全的密码哈希算法,适合用于存储用户密码等需要高安全性的场景。:验证用户提供的密码与存储的哈希值是否匹配。:通用的哈希对象创建函数,可以指定算法名称。或更强的算法用于实际密码哈希,避免使用。其他列出的算法和属性要么不适用于。,要么与密码哈希无关。以下是使用 Python 的。下面是使用 Python 的。3. 查看所有hash方法。
2024-09-11 22:15:45
1022
原创 base64编码使用方法
这些函数大多用于编码和解码字节串,特别是 Base64、Base32、Base16 和 Base85 编码。这些编码方法常用于数据传输或存储。
2024-09-11 16:56:06
728
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人