Forms Django clean () Methode - müssen IP-Adresse des Clients
-
07-07-2019 - |
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?
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