目前我有一个Django项目的需求,我需要在不使用任何API框架的情况下开发django API。因此,为了继续,我想知道如何在没有第三方框架的情况下创建 API。
您可以使用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)
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)
| 归档时间: |
|
| 查看次数: |
1818 次 |
| 最近记录: |