美文网首页
django 4 dfr APIView ViewSet

django 4 dfr APIView ViewSet

作者: proud2008 | 来源:发表于2021-07-08 11:03 被阅读0次

app1/serializers.py 中添加

from rest_framework import serializers


class UserSerializer(serializers.Serializer):
    username = serializers.CharField(max_length=20)
    first_name = serializers.CharField(max_length=20)
    pass

app1/views.py 添加

from django.contrib.auth.models import User
from django.shortcuts import get_object_or_404
from app1.serializers import UserSerializer
from rest_framework import viewsets
from rest_framework.response import Response

class UserViewSet(viewsets.ViewSet):
    def list(self, request):
        queryset = User.objects.all()
        serializer = UserSerializer(queryset, many=True)
        return Response(serializer.data)

    def retrieve(self, request):
        queryset = User.objects.all()
        id=request.query_params["id"]
        user = get_object_or_404(queryset, id=id)
        serializer = UserSerializer(user)
        return Response(serializer.data)

app1/urls.py 修改

from django.contrib import admin
from django.urls import path

from app1.views import hello, UserViewSet

urlpatterns = [
    path('app1/', hello),
    path('user_list', UserViewSet.as_view({'get': 'list'})),
    path('user_detail', UserViewSet.as_view({'get': 'retrieve'}))
]

diango1/settings.py 中添加

INSTALLED_APPS = [
    ...
    'rest_framework',
    'app1'
]

python manage.py runserver 0.0.0.0:8000

浏览器请求
http://127.0.0.1:8000/app1/user_list

auth_user中用户的列表

http://127.0.0.1:8000/app1/user_detail?id=1

相关文章

网友评论

      本文标题:django 4 dfr APIView ViewSet

      本文链接:https://www.haomeiwen.com/subject/wyzgultx.html