Code: Select all
class PostListApiView(ListCreateAPIView):
queryset = Post.objects.all()
serializer_class = PostSerializer
filter_backends = [SearchFilter]
search_fields = ['user','title','content']
Code: Select all
@method_decorator(login_required, name='dispatch')
class PostCreateView(APIView):
queryset = Post.objects.all()
serializer_class = PostCreateSerializer
renderer_classes = [TemplateHTMLRenderer]
permission_classes = [IsAuthenticated]
template_name = 'post_form.html'
def get(self, request, format=None):
serializer=PostCreateSerializer()
return Response({'serializer':serializer})
def post(self, request):
serializer = PostCreateSerializer(data=request.data)
if not serializer.is_valid():
return Response({'serializer':serializer})
serializer.save()
return redirect('/')
Code: Select all
class PostListApiView(ListCreateAPIView):
queryset = Post.objects.all()
serializer_class = PostSerializer
filter_backends = [SearchFilter]
search_fields = ['user','title','content']
renderer_classes = [TemplateHTMLRenderer]
template_name = 'post_form.html'
Code: Select all
Traceback (most recent call last):
File "C:\...\lib\site-packages\django\core\handlers\exception.py", line 34, in inner
response = get_response(request)
File "C:\...\lib\site-packages\django\core\handlers\base.py", line 145, in _get_response
response = self.process_exception_by_middleware(e, request)
File "C:\...\lib\site-packages\django\core\handlers\base.py", line 143, in _get_response
response = response.render()
File "C:\...\lib\site-packages\django\template\response.py", line 105, in render
self.content = self.rendered_content
File "C:\...\lib\site-packages\rest_framework\response.py", line 70, in rendered_content
ret = renderer.render(self.data, accepted_media_type, context)
File "C:\...\lib\site-packages\rest_framework\renderers.py", line 167, in render
return template.render(context, request=request)
File "C:\...\lib\site-packages\django\template\backends\django.py", line 59, in render
context = make_context(context, request, autoescape=self.backend.engine.autoescape)
File "C:\...\lib\site-packages\django\template\context.py", line 270, in make_context
raise TypeError('context must be a dict rather than %s.' % context.__class__.__name__)
Exception Type: TypeError at /posts/
Exception Value: context must be a dict rather than ReturnList.
Vielen Dank
Mobile version