2011-09-25 127 views

回答

1

不,这是不可能的,因为请求对象不是全局可用的,因此它在表单中不可用,除非明确传入。initial参数存在与您正试图解决的问题完全相同。您应该使用

form = YourForm(..., initial={'your_field': request.META['REMOTE_ADDR']) 

在您的视图中。

编辑:

如果您喜欢在request传递明确的,你可以使用这样的事情,然后就通过request=request当你实例形式:

class YourForm(forms.Form): 
    def __init__(self, *args, **kwargs): 
     self.request = kwargs.pop('request') 
     super(YourForm, self).__init__(*args, **kwargs) 

    # ... use self.request in clean etc 
相关问题