You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Django APIView中通过GET方法将Choices序列化为指定JSON格式?

解决方案

你可以通过以下步骤实现需求:

  1. 在views.py中编写APIView类
    导入必要模块和你定义的MATH_CHOICES_TYPE,创建继承自APIView的视图类,重写get方法处理请求并转换数据格式。

    示例代码:

    from rest_framework.views import APIView
    from rest_framework.response import Response
    from .choices import MATH_CHOICES_TYPE
    
    class MathChoicesView(APIView):
        def get(self, request):
            # 将元组转换为目标格式的列表
            formatted_choices = [
                {"value": value, "display_name": display_name}
                for value, display_name in MATH_CHOICES_TYPE
            ]
            # 包装成要求的JSON结构并返回
            return Response({"MATH_CHOICES_TYPE": formatted_choices})
    
  2. 配置URL路由
    在项目urls.py中添加该视图的路由,让前端可访问:

    from django.urls import path
    from .views import MathChoicesView
    
    urlpatterns = [
        # 其他路由...
        path('math-choices/', MathChoicesView.as_view(), name='math-choices'),
    ]
    

发送GET请求到/math-choices/即可得到目标JSON结构。另外注意你定义的MATH_CHOICES_TYPE里第二个选项是'teste2',而目标JSON里是'test2',如果是笔误,直接修改choices.py里的对应值即可。

内容的提问来源于stack exchange,提问作者chea

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 22:55:56