create user post
This commit is contained in:
parent
bc7ce8106e
commit
477d680530
@ -1,6 +1,19 @@
|
|||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
|
|
||||||
from .models import *
|
from .models import *
|
||||||
|
from django.contrib.auth.models import User
|
||||||
|
|
||||||
|
|
||||||
|
class UserSerializer(serializers.ModelSerializer):
|
||||||
|
password = serializers.CharField(write_only=True)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = User
|
||||||
|
fields = ["id", "username", "password", "email"]
|
||||||
|
|
||||||
|
def validate_email(self, value):
|
||||||
|
if User.objects.filter(email=value).exists():
|
||||||
|
raise serializers.ValidationError("Cette adresse e-mail est déjà utilisée.")
|
||||||
|
return value
|
||||||
|
|
||||||
|
|
||||||
class ProductSerializer(serializers.ModelSerializer):
|
class ProductSerializer(serializers.ModelSerializer):
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from django.urls import include, path
|
from django.urls import include, path
|
||||||
from rest_framework import routers
|
from rest_framework import routers
|
||||||
|
from .views import *
|
||||||
from . import views
|
from . import views
|
||||||
|
|
||||||
router = routers.DefaultRouter()
|
router = routers.DefaultRouter()
|
||||||
router.register(r'product', views.ProductViewSet)
|
router.register(r'product', views.ProductViewSet)
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('', include(router.urls)),
|
path('', include(router.urls)),
|
||||||
path('admin/', admin.site.urls),
|
path('admin/', admin.site.urls),
|
||||||
|
path("create/", UserCreate.as_view(), name="user-create")
|
||||||
]
|
]
|
||||||
|
@ -1,8 +1,31 @@
|
|||||||
from rest_framework import viewsets
|
from rest_framework import viewsets
|
||||||
from .models import *
|
from .models import *
|
||||||
from .serializers import *
|
from .serializers import *
|
||||||
|
from rest_framework.throttling import UserRateThrottle
|
||||||
|
from rest_framework.response import Response
|
||||||
|
from rest_framework import generics, status
|
||||||
|
|
||||||
|
|
||||||
|
class UserCreate(generics.CreateAPIView):
|
||||||
|
throttle_classes = [UserRateThrottle]
|
||||||
|
serializer_class = UserSerializer
|
||||||
|
queryset = User.objects.all()
|
||||||
|
|
||||||
|
def create(self, request):
|
||||||
|
serializers = self.get_serializer(data=request.data)
|
||||||
|
serializers.is_valid(raise_exception=True)
|
||||||
|
user = serializers.save()
|
||||||
|
return Response(serializers.data, status=status.HTTP_201_CREATED)
|
||||||
|
|
||||||
|
|
||||||
class ProductViewSet(viewsets.ModelViewSet):
|
class ProductViewSet(viewsets.ModelViewSet):
|
||||||
queryset = Product.objects.all()
|
queryset = Product.objects.all()
|
||||||
serializer_class = ProductSerializer
|
serializer_class = ProductSerializer
|
||||||
|
|
||||||
|
|
||||||
|
class CreateProject(viewsets.ModelViewSet):
|
||||||
|
queryset = Product.objects.all()
|
||||||
|
serializer_class = ProductSerializer
|
||||||
|
|
||||||
|
def get_queryset(self):
|
||||||
|
return Product.objects.filter(user=self.request.user)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user