目前我需要一个Django项目,我需要在不使用任何API框架的情况下开发django API。因此,为了继续,我想知道如何在没有第三方框架的情况下创建API。
答案 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})