2016-09-08 6 views
1

Ich habe diese URL-Muster meiner Ansicht zu erhalten:Erste GET in django Ansicht

url(r'^api/cabinet/(?P<cabinetid>[0-9]+)/bin/$', views.api_cabinetbin), 

und zeigt mein Browser http://domain/api/cabinet/10/bin/ gibt mir die Informationen über Schrank 10.

Ich möchte einige setzen Zusätzliche Informationen zu der URL, so: . Dies gibt mir jedoch eine 404 ({"detail":Not found."} ist die Nachricht, die ich in meinem Browser sehe).

Der Blick ist wie folgt:

@api_view(['GET', 'POST']) 
@authentication_classes((SessionAuthentication,BasicAuthentication,TokenAuthentication)) 
@permission_classes((IsAuthenticated,)) 
def api_cabinetbin(request, cabinetid): 
    ... 
+0

@Sayse es ist kein Duplikat dieser Frage. Ich möchte die GET Parameter in meiner 'views.api_cabinetbin' Funktion lesen. Aber wenn ich diese GET-Parameter hinzufüge, bricht das gesamte Routing ab. –

+0

@Sayse Ja, ich möchte 'http: // domain/api/cabinet/10/bin /? Info = extra' aufrufen und die Variable' info' verwenden, um etwas aus meiner Sicht zu tun. –

+0

Fügen Sie einfach nicht die Parameter zu Ihrem URL-Muster hinzu und Sie sollten in Ordnung sein. Belassen Sie das URL-Muster so, wie es ist, und rufen Sie Ihre Parameter in Ihrer 'api_cabinetbin'-View-Funktion mit' request.GET' ab. – elethan

Antwort

2

Es stellte sich heraus, format hat einige magische Eigenschaften in Django REST-Framework.

Die Verwendung einer anderen Variablen hat funktioniert.