Sınıf temelli API görünümü django yöntem ve implemneting sınıf temelli görüş ve örnek bir örnek i Çağrı spesifik i DRF için yeni
@api_view(['GET', 'POST'])
class ProductList(APIView):
print "inside"
def get_user_products(self, request, user_id, format=None):
products = Product.objects.all(user_id=user_id)
serializer = ProductSerializer(products, many=True)
return Response(serializer.data)
def get_seller_products(self, request, seller_id, format=None):
products = Product.objects.filter(seller_id=seller_id)
serializer = ProductSerializer(products, many=True)
return Response(serializer.data)
def post(self, request, user_id, seller_id, format=None):
serializer = ProductSerializer(data=request.DATA, context={'request':request})
if serializer.is_valid():
serializer.object.user = User.objects.get(id=user_id)
serializer.object.seller = Seller.objects.get(id=seller_id)
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
denedi bu benim ürün apis için bu sınıf, ama öyleyim i get_user_products veya get_seller_products Şu anda ben bu sınıf infaz ve yazdırır GET yöntemi olarak bu
http://localhost:8000/products
gibi bu api çağırdığınızda
vurabilir nasıl ben "gibi, ilgili sonuca ulaşmak için bireysel yöntemler nasıl erişebileceğini emin içinde Gördüğünüz s, ama nasıl i Buradaiçindeki yöntemleri diyorsunuz Sen sınıf tabanlı görüşlerini süslemek için api_view
dekoratör kullanmak gerekmiyor
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^', include(router.urls)),
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
url(r'^login$', 'userapp.views.login_user', name="login"),
url(r'^products$', 'productapp.views.ProductList', name="product-list"),
]
('request.DATA' var olmayan Bir süre), yükseltmeyi ve bunu 'request.data' olarak değiştirmenizi şiddetle tavsiye ederim. –