Ich arbeite an Mezzanine Rest API und fügen Sie einige weitere Ansichten hinzu, um in der Lage zu sein, leicht zu arbeiten. Ich codiert eine Ansicht und machte seine Serializer aber, wenn sie von Postbote zu schlagen versuchen, erhalte ich Fehler nicht 404Warum wird meine Ansicht im Django-Rest-Framework nicht gefunden?
Views.py
@csrf_exempt
@api_view(['POST'])
def create_site_record(request):
serializer = SiteModelSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
serializers.py
class SiteModelSerializer(serializers.Serializer):
title = serializers.CharField(required=True, max_length=100)
tagline = serializers.CharField(required=True, max_length=100)
domain = serializers.CharField(required=True, max_length=100)
def create(self, validated_data):
return Site.objects.create(**validated_data)
urls.py
router = routers.DefaultRouter(trailing_slash=False)
router.register(r'users', UserViewSet)
router.register(r'pages', PageViewSet)
router.register(r'posts', PostViewSet)
router.register(r'categories', CategoryViewSet)
# router.register(r'create_site', create_site_record, 'sitess')
router.register(r'site', SiteViewSet, SiteViewSet.as_view({'get': 'retrieve'}))
urlpatterns = [
url(r'^create/(?P<pk>[0-9]+)$', create_site_record), # I have tried registering this view in router also but no luck
url(r'^', include(router.urls)),
url(r'^docs/', include('rest_framework_swagger.urls')),
url(r'^oauth2/', include('oauth2_provider.urls', namespace='oauth2_provider')),
url(r'^auth/', include('rest_framework.urls', namespace='rest_framework')),
]
gefunden
Ich versuche diesen Endpunkt zu erreichen : http://localhost:8000/api/create_site/
mit Nutzlast: { "title": "Test", "tagling": "sdhjshjd", "domain": "test:8000" }
Erste Fehler: Not Found: /api/create_site/
Was mache ich falsch?
Die URL ist falsch –