django表单向导:未在done()方法中定义全局名称“request”

时间:2014-07-03 05:02:45

标签: python django django-forms django-formwizard formwizard

我正在使用django表单向导,这需要一个完成方法。

def done(self, form_list, **kwargs):
    #Making an instance of Location
    location = Location(    
        manager = User.objects.get(username=request.user.username)
        #more stuff
    )

除了我收到以下错误:

global name 'request' is not defined on line (the line with manager assignment)

不确定我能做些什么来解决这个问题。我应该只将请求插入到done方法中吗?这甚至有意义吗?别人怎么处理这个?

1 个答案:

答案 0 :(得分:4)

您可以在基于类的视图和表单向导中将request引用为self.request。 将您的行更新为

location = Location(             #-------v
    manager = User.objects.get(username=self.request.user.username)
    #more stuff
)