나는에 안녕하세요 세계를 만들려고 Django
하고 rest-framework
있지만, URL을 ACESS 때 http://localhost:4444/products
터미널이 나에게이 오류를주고 모든 제품을 얻을 :
Traceback (most recent call last):
File "/home/developer/.virtualenvs/store/lib/python3.5/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/home/developer/.virtualenvs/store/lib/python3.5/site-packages/django/core/handlers/base.py", line 115, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/home/developer/.virtualenvs/store/lib/python3.5/site-packages/django/core/handlers/base.py", line 113, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/developer/.virtualenvs/store/lib/python3.5/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
return view_func(*args, **kwargs)
File "/home/developer/.virtualenvs/store/lib/python3.5/site-packages/rest_framework/viewsets.py", line 114, in view
return self.dispatch(request, *args, **kwargs)
File "/home/developer/.virtualenvs/store/lib/python3.5/site-packages/rest_framework/views.py", line 505, in dispatch
response = self.handle_exception(exc)
File "/home/developer/.virtualenvs/store/lib/python3.5/site-packages/rest_framework/views.py", line 465, in handle_exception
self.raise_uncaught_exception(exc)
File "/home/developer/.virtualenvs/store/lib/python3.5/site-packages/rest_framework/views.py", line 476, in raise_uncaught_exception
raise exc
File "/home/developer/.virtualenvs/store/lib/python3.5/site-packages/rest_framework/views.py", line 502, in dispatch
response = handler(request, *args, **kwargs)
File "/home/developer/.virtualenvs/store/lib/python3.5/site-packages/rest_framework/mixins.py", line 45, in list
serializer = self.get_serializer(queryset, many=True)
File "/home/developer/.virtualenvs/store/lib/python3.5/site-packages/rest_framework/generics.py", line 110, in get_serializer
return serializer_class(*args, **kwargs)
TypeError: object() takes no parameters
[06/Dec/2019 11:49:35] "GET /products HTTP/1.1" 500 17530
Django를 사용하지만 0에서 프로젝트를 시작하는 방법을 모르겠습니다. 다음은 내 코드입니다.
view.py :
from django.shortcuts import render
from django.http import HttpResponse
from rest_framework import viewsets
from rest_framework.response import Response
from .models import Product
from .serializers import ProductListSerializer
class ProductViewSet(viewsets.ModelViewSet):
lookup_field = 'pk'
model = Product
queryset = Product.objects.all()
serializer_class = ProductListSerializer
urls.py
from django.urls import path
from . import views
import product.views as v
product_detail = v.ProductViewSet.as_view({'get': 'retrieve',
'delete': 'destroy',
'patch': 'partial_update'})
product_list = v.ProductViewSet.as_view({'post': 'create', 'get': 'list'})
urlpatterns = [
path('products/<int:pk>', product_detail),
path('products', product_list),
]
models.py
from django.db import models
# Create your models here.
class Product(models.Model):
class Meta:
app_label = 'product'
index_together = [
['title'],
]
title = models.CharField(max_length=150)
def __str__(self):
return '(Product)%s' % self.title
serializers.py
from .models import Product
class ProductListSerializer():
class Meta:
model = Product
fields = ['title']
이미 마이그레이션을 수행하고 마이그레이션합니다. 내 DB에 데이터가 없지만 요청 URL의 응답은 항목이 0 인 응답이어야합니다. 내가 뭔가 잘못했거나 중요한 것을 잊었습니까?
직렬 변환기 클래스가 누락되었습니다.
이 시도
from .models import Product
from rest_framework import serializers
class ProductListSerializer(serializers.ModelSerializer):
class Meta:
model = Product
fields = ['title']
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다