如何过滤多个请求,并仅处理请求的选项 - DjangoRF?

时间:2017-03-30 07:12:04

标签: android python api http-headers django-rest-framework

我正在使用DRF开发一个API,它接受来自URL标题的多个请求,但标题可能会相应地更改为有时1个标题或有时4个标题。

那么我该如何设计API,它根据变化的标题处理结果。

This is the Image,请求即将来临。

或者还有其他方法可以解决这个问题吗?

以下是我用于处理标题

的样本正常标题的代码
from userregistration.models import Userregistration
from rest_framework import generics
from sub_category.models import Sub_category
from upload_image.models import Upload_image
from django.shortcuts import get_object_or_404
from django.http import JsonResponse

class StatusCode(object):
    OK = 200
    NOT_FOUND = 404

import json
from django.http import HttpResponse

def JSONResponse(data = None, status = StatusCode.OK):
    if data is None:
        return HttpResponse(status)
    if data and type(data) is dict:
        return HttpResponse(json.dumps(data, indent = 4, encoding = 'utf-8', sort_keys = True), \
            mimetype = 'application/json', status = status)
    else:
        return HttpResponse(status = StatusCode.NOT_FOUND)

def get_queryset(request):

  category_id = request.META.get('HTTP_CATEGORY_ID')

  from django.http import JsonResponse

  import sys

  details=[]

  objects=Sub_category.objects.filter(category_id=category_id)

  for obj in objects:
   print sys.stderr,obj.image_id

   if(obj.image_id != ""):
    if(Upload_image.objects.filter(pk=obj.image_id).exists()):
     image_details=Upload_image.objects.get(pk=obj.image_id)
     image_link='http://res.cloudinary.com/9lc/imawere/***/appname/'+image_details.link
    else:
     image_link=""
   else:
    image_link=''

   details.append({
              'Sub-Categories':Sub_category.objects.filter(category_id=obj.category_id,sc_type=obj.sc_type).values('pk','category_id','sc_type')[0],
              'image_link' : image_link
          })


  from django.http import JsonResponse
  return JsonResponse(details,safe=False)

0 个答案:

没有答案