Ich habe eine PUT-Anfrage und ich möchte die Werte von einigen der Parameter in meiner Middleware aktualisieren. Ich weiß, dass es keinen Weg gibt, direkt auf die PUT-Parameter zuzugreifen, also greife ich darauf über request.body
zu.Wie Update Django HttpRequest Körper in Middleware
Sobald diese Werte aktualisiert wurden, muss ich diese request
auf die Ansicht übergeben. wenn ich versuche, jedoch zu tun:
request.body = new_content
in meiner Middleware, die ich erhalten:
AttributeError: can't set attribute
Gibt es eine Möglichkeit, diese params in der Middleware zu aktualisieren und übergeben sie an?
Um eine Notiz hinzuzufügen: request.body wird request.read() aufrufen, die aus einem Datei-ähnlichen Puffer 'request._stream' liest. Ich musste diesen Puffer ebenfalls "auffüllen" (Django Rest Framework liest aus diesem Puffer). Sie können dies über 'request._stream = BytesIO (body_contents)' tun –