Shallow Dreamer Blog

python异常处理

Python 提供了丰富的异常类,用于处理不同类型的错误和异常情况。以下是一些常见的 Python 异常类及其使用场景: 基本异常类 Exception 所有异常类的基类。通常不直接使用,而是用它的子类。 BaseException 所有异常的基类。一般不直接使用,主要用于 try 和 except 块中的广泛捕获。 ...

数据拆解

def data_reorganize_split_duplicate_row(data: List[Dict], json_list_fields: List[str]) -> List[Dict]: result = [] for row in data: # 获取所有 JSON 列表字段的最大长度 item_len = max((...

虚拟列表

为了确保滚动时元素正确显示并且性能良好,我们可以通过调整数据的管理方式和渲染逻辑,来实现虚拟滚动。这次,我们确保所有计算正确,并使用 flex 布局。以下是一个详细的实现方式,保证元素在滚动时正确显示。 更新后的代码实现 <template> <div class="container" ref="container" @scroll="onScroll"> ...

修改用户组

在 Django 中,修改用户的组权限和获取用户信息可以通过 Django 自带的认证系统来实现。下面是具体的步骤和代码示例: 修改用户的组权限 导入所需的模型 from django.contrib.auth.models import User, Group 获取用户和组对象 user = User.objects.get(username=...

contenttype实现评论

好的,让我们更详细地解释和分步骤实施使用Django的ContentType实现通用的评论系统。 1. 创建评论模型 首先,我们需要创建一个通用的评论模型。这个模型将使用ContentType和GenericForeignKey来实现与任意模型的关联。 # models.py from django.db import models from django.contrib.conten...

正则判断提取

为了处理不同的格式,我们可以使用稍微复杂一点的正则表达式来分别匹配 thru、fext 和 next 的不同模式。以下是更新后的 Python 脚本,能够根据指定格式匹配并提取信息: import re def match_and_extract_info(filename): # 定义正则表达式模式 pattern_thru = re.compile( ...

历史数据保存方案

在使用与数据表结构一致的历史表来保存数据的方案下,如果回滚的数据中缺少新增字段的数据,而这个字段设置了非空约束,则回滚操作会遇到问题。为了解决这个问题,需要在回滚操作时为这些缺失的字段提供合理的默认值。 以下是如何处理这种情况的详细步骤: 处理步骤 在新增字段时设置临时默认值:在新增字段并设置非空约束时,可以为其设置一个临时默认值。 更新历史数据:将历史表中的旧数据更新为合适...

pydantic数据校验示例

为了在 Django 和 Django REST Framework(DRF)中实现每个字段的数据校验并返回自定义的错误信息(包括一条或多条),你可以通过以下步骤来进行设置和实现: 定义 Django 模型 在 myapp/models.py 中定义模型: from django.db import models class Product(models.Model): na...

获取外键数据

如果 Book 模型和 Author 模型位于不同的 Django 应用中,处理方法基本相同,只需确保正确引用和导入相关的模型和序列化器。 1. 模型定义 假设 Author 模型位于 authors 应用中,而 Book 模型位于 books 应用中。 在 authors/models.py 中定义 Author 模型: from django.db import models ...

boto3-s3存储文件

使用 boto3 库与 AWS S3 进行交互是非常方便和强大的。以下是一些常见的操作,包括多文件上传、列出文件、下载文件和删除文件。 首先,需要安装 boto3: pip install boto3 接下来是一些示例代码: 设置 AWS 凭证和配置 确保在您的环境中设置了 AWS 凭证和配置。可以通过配置文件或环境变量来设置。这里是使用配置文件的方法: 创建或编辑 ~/.a...