app_drf.views_perm_any 源代码

"""不需要权限的apis

    例如product模型的get,未注册用户也需要有list
    注册用户的权限
"""
from rest_framework import serializers
from rest_framework import viewsets

from django.contrib.auth.models import User
from django.shortcuts import HttpResponse
from app_models.models import Product

[文档]class UserRegisterSerializer(serializers.ModelSerializer):
[文档] class Meta: model = User fields = ['username', 'first_name', 'last_name', 'password', 'email']
[文档]class UserRegisterViewSet(viewsets.ModelViewSet): serializer_class = UserRegisterSerializer queryset = User.objects.all()
[文档] def create(self, request, format=None): serialized = UserRegisterSerializer(data=request.POST) if serialized.is_valid(): user_password = serialized.validated_data.get('password', '') user = User(**serialized.validated_data) user.set_password(user_password) print(user.__dict__) user.save() return HttpResponse('') else: return HttpResponse(f'{serialized.errors}')
[文档]class NewProductSerializer(serializers.ModelSerializer): """Product fields: [category, warehouse, product_name, product_description, product_price, product_stock, for_sale,] """
[文档] class Meta: model = Product fields = ["category", "warehouse", "product_name", "product_description", "product_price", "product_stock",]
[文档]class NewProductViewSet(viewsets.ModelViewSet): queryset = Product.objects.all().order_by("-id") serializer_class = NewProductSerializer
[文档] def create(self, request, format=None): serialized = NewProductSerializer(data=request.POST) if serialized.is_valid(): new_product = Product(**serialized.validated_data) new_product.save() return HttpResponse('success') return HttpResponse(serialized.errors)