我正在重写Django表单上的clean()方法。 我想要访问客户端的IP地址(假设这是一个绑定的表单)。 如果我有一个对请求对象的引用,我可以轻松从META("REMOTE_ADDR")获取它。 但是,我没有对请求的引用。
有什么想法吗?
我正在重写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)
request
参数将会引发异常。 - Daniel Roseman