如何在没有任何API框架的情况下创建Django API

时间:2017-06-29 16:42:51

标签: python django api

目前我需要一个Django项目,我需要在不使用任何API框架的情况下开发django API。因此,为了继续,我想知道如何在没有第三方框架的情况下创建API。

2 个答案:

答案 0 :(得分:3)

您可以使用基于函数的常规视图或基于类的视图作为端点。不同之处在于您可能会在响应中发送JSON而不是呈现HTML。

你可以使用Django的内置装饰器来限制某些访问(即方法,权限等)。

我的代码看起来像:

查看

@require_get
@login_required
def get_user(request, userId, *args, **kwargs):
  user = get_object_or_404(User, pk=userId)
  serializer = SomeSerializerClass(user)
  return HttpResponse(serializer.jsonData(), content_type='application/json')

<强>网址

url('/user/(?P<userId>[0-9]+)/$', get_user, ...)

答案 1 :(得分:3)

您可以使用JsonResponse在视图中返回json数据:

from django.http import JsonResponse

def my_view(request):
    questions = Question.objects.all()
    return JsonResponse({'questions': questions})