Frage

Ich bin das Überschreiben die clean () Methode auf einer Django Form. Ich möchte der Client Zugriff auf die IP-Adresse haben (vorausgesetzt, diese ist eine gebundene Form). Wenn ich einen Verweis auf das Request-Objekt hatte, konnte ich es einfach von META ( „REMOTE_ADDR“). Allerdings habe ich nicht einen Verweis auf die Anfrage.

Alle Ideen, wie könnte dies geschehen?

War es hilfreich?

Lösung

So geben Sie sich einen Hinweis auf sie.

class MyModelForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        self.request = kwargs.pop('request', None)
        super(MyModelForm, self).__init__(*args, **kwargs)


    def clean(self):
        ip_address = self.request['META']['REMOTE_ADDR']

und in der Ansicht:

myform = MyModelForm(request.POST, request=request)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top