2016-07-31 6 views
1

eine Django Form gegeben, ich habe folgende save() Methode:Get Session Daten in Django Forms

def save(self): 
    name = self.cleaned_data.get('name', None) 

    user = User.objects.get(1) #I want the session user ID from here 

So zu tun, so dass ich als so importiert: Mir

from django.http import HttpRequest as request 

und in dem obigen Code

schrieb
request.session.get('user_id') #for example 

wenn jedoch laufen, wirft Django den folgenden Fehler:

AttributeError: type object 'HttpRequest' has no attribute 'session' 

Gibt es eine bessere Möglichkeit, diesen Abruf durchzuführen?

Antwort

2

Sie können nicht einfach die HttpRequest-Klasse importieren und erwarten, dass sie die Werte der aktuellen Anfrage enthält. Sie müssen diese aktuelle Anforderung tatsächlich von der Ansicht aus übergeben.

+0

'def save (self, request)' und 'form.save (request)' machen den Trick! – bryansis2010