# xy_django_serializer **Repository Path**: xy-opensource/xy_django_serializer ## Basic Information - **Project Name**: xy_django_serializer - **Description**: 基于djangorestframework的serializer解析基类, 封装了常用功能, 方便快速开发. - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-11-12 - **Last Updated**: 2024-11-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # xy_django_serializer | [简体中文](./README.md) | [繁體中文](readme/README.zh-hant.md) | [English](readme/README.en.md) | | ----------- | -------------|---------------------------------------| ## 说明 基于djangorestframework的serializer解析基类, 封装了常用功能, 方便快速开发. ## 源码仓库 | [Github](https://github.com/xy-web-service/xy_django_serializer.git) | [Gitee](https://gitee.com/xy-opensource/xy_django_serializer.git) | [GitCode](https://gitcode.com/xy-opensource/xy_django_serializer.git) | | ----------- | -------------|---------------------------------------| ## 安装 ```bash # bash pip install xy_django_serializer ``` ## 使用 #### 1. 创建解析类 ```python # serializers.py from rest_framework import viewsets from xy_django_serializer.serializers import Serializer from .models import MImage class SImage(Serializer): default_value = "" class Meta: model = MImage fields = "__all__" class VSImage(viewsets.ModelViewSet): queryset = MImage.objects.all() serializer_class = SImage ``` #### 2. 实现解析 ###### 1. 在Django项目的manage.py shell中调用 ```python # Python解释器 from Demo.models import MDemo from Demo.serializers import SDemo demo_list = MDemo.objects.all() demo_dict_list = SDemo(demo_list, many=True).data print(demo_list) print(demo_dict_list)) ``` ###### 2. 在Tornado等其他运行环境中调用 > 注意: 必须先加载Django工程到运行的项目中 ```Python # Demoes.py from xy_request_handler_api.Api import Api from Demo.models import MDemo from Demo.serializers import SDemo class DemoApi(Api): def check_xsrf_cookie(self) -> None: return None def check_origin(self, _): return False def fetch(self): all_demo_list = MDemo.objects.all() all_demo_dict_list = SDemo(all_demo_list, many=True).data self.success() self.data = {"all_demo_list": all_demo_dict_list} self.xy_response() def get(self): self.fetch() def post(self): self.fetch() ``` ##### 运行 [样例工程](./samples/xy_web_server_demo) > 样例工程具体使用方式请移步 xy_web_server.git 下列仓库 | [Github](https://github.com/xy-web-service/xy_web_server.git) | [Gitee](https://gitee.com/xy-opensource/xy_web_server.git) | [GitCode](https://gitcode.com/xy-opensource/xy_web_server.git) | | ----------- | -------------|---------------------------------------| ## 许可证 xy_django_serializer 根据 <木兰宽松许可证, 第2版> 获得许可。有关详细信息,请参阅 [LICENSE](LICENSE) 文件。 ## 捐赠 如果小伙伴们觉得这些工具还不错的话,能否请咱喝一杯咖啡呢? ![Pay-Total](./readme/Pay-Total.png) ## 联系方式 ``` 微信: yuyangiit 邮箱: yuyangit.0515@qq.com ```