2016-11-09 7 views
0

urls.pyDjango: URL Schrägstrich Ausgabe

url(r'^v1/files/$', MyFileView.as_view(), name='api-upload'), 
url(r'^v1/files/$', MyFileView.as_view(), name='api-view-all'), 

views.py

class MyFileView(APIView): 
    def post(): 
     pass 
    def get(): 
     pass 

Meine Frage ist: warum POST api/v1/files funktioniert wie GET api/v1/files/? Ich dachte, POST api/v1/files sollte 404 zurückgeben. Alles falsch?

UPDATE

Aber api/v1/files/<id> haben dieses Problem nicht. api/v1/files/<id>/ kehrt 404. Dank

Antwort

1

Ich denke, dass sie nicht „wie GET arbeiten“ zu tun.

Was passiert wirklich ist, dass:

  • der Server antwortet mit einem HTTP 302-url/
  • und der Browser eine GET url/ führt eine POST url
  • senden.

Und das Ergebnis von , dass ist, was Sie tatsächlich sehen.

Wenn Sie die Anfragen überprüfen tatsächlich entlang der Leitung gesendet wird, vermute ich, Sie zwei Anfragen sehen werden - der erste, der POST ist, die zweite die GET zu sein.

+0

@Iserni, Intertering. noch nie zuvor bekannt. Danke – BAE

+0

Heh. Ich auch nicht, musste ich mich fragen. Sie können das Kopfkratzen nicht erraten: http://stackoverflow.com/q/39848396/1428679 :-D – LSerni

+0

Aber 'api/v1/files/' hat dieses Problem nicht. 'api/v1/files/ /' wird 404 zurückgeben. – BAE

Verwandte Themen