2014-12-13 4 views
8

Come posso far funzionare il framework del messaggio django con rest_framework?Utilizzo del framework del messaggio django con rest_framework

Qui è la mia vista

@api_view(['GET', 'POST']) 
def myview(request): 
    if request.method == 'GET': 
     #return a Response object 
    else: 
     #process post data 
     messages.success(request, 'Success') 
     return Response(response) 

ho incontrato il seguente errore

add_message() argument must be an HttpRequest object, not 'Request' 

che è perché il rest_framework non utilizza il normale HttpRequest oggetto, usato in Django per impostazione predefinita.

Come utilizzare il framework di messaggistica con rest framework? vista

+0

Il il problema sembra non avvenire più in DRF 3.1 – Kos

risposta

17

DRF non usano HttpRequest ma utilizzano rest_framework.request.Request, (leggi here) è possibile accedere all'oggetto che avete bisogno di utilizzare

messages.success(request._request, 'Success') 

comunque questo codice ha senso solo se si utilizza BrowsableAPIRenderer

+0

uso una diversa richiesta http per leggere i messaggi, quindi questo funziona benissimo per me. grazie – rjv

+0

È orribile dover usare una var privata qui ... – aehlke

+0

Non abbiamo più bisogno di farlo (3.6). Per me passare la richiesta funziona bene. – psychok7