django 表单向导:全局名称“请求”未在 done() 方法中定义
Posted
技术标签:
【中文标题】django 表单向导:全局名称“请求”未在 done() 方法中定义【英文标题】:django form wizard: global name 'request' is not defined in done() method 【发布时间】:2014-08-24 01:57:28 【问题描述】:我正在使用 django 表单向导,它需要一个 done 方法。
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 方法中吗?这甚至有意义吗?其他人如何处理?
【问题讨论】:
def done(self,request, form_list, **kwargs) 在你的参数中 我认为你可以通过调用 self.request 来使用请求 【参考方案1】:您可以在基于类的视图和表单向导中将request
称为self.request
。
将您的行更新为
location = Location( #-------v
manager = User.objects.get(username=self.request.user.username)
#more stuff
)
【讨论】:
以上是关于django 表单向导:全局名称“请求”未在 done() 方法中定义的主要内容,如果未能解决你的问题,请参考以下文章
django:如何在表单向导中使用 inlineformset?