質問

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)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top