如何为url参数创建唯一的方法?

2024-09-28 21:25:35 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的获取方法:

if request.method == 'GET':
        myObject = myObjectClass.objects.all()
        serializer = myObjectSerializer(myObject, many=True)
        return Response(serializer.data)

假设响应是这样的:

[
  {
    "id": 1,
    "data1": 12,
    "data2": "example1"
  },
  {
    "id": 2,
    "data1": 11,
    "data2": "example3"
  },
  {
    "id": 3,
    "data1": 12,
    "data2": "example3"
  }
]

我想使用URLhttp://localhost:8000/data/?data1=12创建方法以获得响应:

 [
      {
        "id": 1,
        "data1": 12,
        "data2": "example1"
      },
      {
        "id": 3,
        "data1": 12,
        "data2": "example3"
      }
 ]

我的问题是,我想创建一个独特的方法。例如,我们可以使用URLhttp://localhost:8000/data/?data2="example3",作为响应,我们将得到:

 [
          {
            "id": 2,
            "data1": 11,
            "data2": "example3"
          },
          {
            "id": 3,
            "data1": 12,
            "data2": "example3"
          }
     ]

我想知道这是否可能?最好的解决方案是什么?我一直在尝试请求.GET, 请求.获取.获取()等等,但什么都不管用。提前谢谢。你知道吗


Tags: 方法idlocalhostdatagetifrequestmethod
1条回答
网友
1楼 · 发布于 2024-09-28 21:25:35

request.GET.get()应该可以用来检索您正在使用的查询参数发送什么沿着以下路线:

if request.GET.get('data1'):
    print request.GET.get('data1')

if request.GET.get('data2'):
    print request.GET.get('data2')

或者可以使用regex使用动态url模式。你知道吗

相关问题 更多 >