Django Forms clean()メソッド-クライアントのIPアドレスが必要
-
07-07-2019 - |
質問
Djangoフォームのclean()メソッドをオーバーライドしています。クライアントのIPアドレスにアクセスしたい(これがバインドされたフォームであると仮定)リクエストオブジェクトへの参照があれば、META(" REMOTE_ADDR")から簡単に取得できます。ただし、リクエストへの参照はありません。
これを行う方法についてのアイデアはありますか?
解決
それで、あなた自身にそれへの参照を与えてください。
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']
およびビューで:
myform = MyModelForm(request.POST, request=request)
所属していません StackOverflow