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

AKH*_*HEW 3 python api django

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

ett*_*any 6

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

from django.http import JsonResponse

def my_view(request):
    questions = Question.objects.all()
    return JsonResponse({'questions': questions})
Run Code Online (Sandbox Code Playgroud)


Kor*_*rts 5

You can use regular function-based or class-based views as your endpoints. The difference would be is that you'll probably be sending JSON instead of rendering HTML in the response.

You can use built in decorators from Django to restrict certain access (ie. methods, permissions, etc.)

My code would look something like:

View

@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')
Run Code Online (Sandbox Code Playgroud)

Url

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

  • 在这个例子中,一切都是使用 Django 完成的,而不使用像 RestFramework 这样的第三方 API 框架。现在,如果他想在不使用包括 Django 在内的任何框架的情况下制作 API,那么他在他的问题中没有说清楚。 (2认同)