python - django rest framework post method giving error "Method "POST" not allowed" -
i getting error 'method "post" not allowed' while running api. new drf , don’t know doing wrong. method working fine. have problem post method.
my code given below
view.py:
django.contrib.auth.models import user django.http import http404 django.shortcuts import get_object_or_404 restapp.serializers import userserializer rest_framework.views import apiview rest_framework.response import response rest_framework import status django.http import httpresponse class userlist(apiview): def get(self, request, format=none): users = user.objects.all() serializer = userserializer(users, many=true) return response(serializer.data) def post(self, request, format=none): serializer = userserializer(data=request.data) if serializer.is_valid(): serializer.save() return response(serializer.data, status=status.http_201_created) return response(serializer.errors, status=status.http_400_bad_request)
serializer.py:
django.contrib.auth.models import user .models import question,choice rest_framework import serializers class userserializer(serializers.modelserializer): class meta: model = user fields = ('id', 'username', 'first_name', 'last_name', 'email')
url.py
django.conf.urls import patterns, include, url django.contrib import admin restapp import views admin.autodiscover() urlpatterns = patterns('', url(r'^admin/', include(admin.site.urls)), url(r'^users/', views.userlist.as_view()),)
you have wrong identation in code. post method needs inside userlist(apiview) class. right defined standalone function.
Comments
Post a Comment