class RegistrationFormPreview(FormPreview):
preview_template = 'workshops/workshop_register_preview.html'
form_template = 'workshops/workshop_register_form.html'
def done(self, request, cleaned_data):
# Do something with the cleaned_data, then redirect
# to a "success" page.
# data = request.POST.copy()
# data['user_id'] = u'%s' % (request.user.id)
# cleaned_data['user'] = u'%s' % (request.user.id)
#f = self.form(cleaned_data)
#f = self.form(data)
#f.user = request.user
f = self.form(request.POST)
f.save()
pdb.set_trace()
return HttpResponseRedirect('/register/success')
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我已经尝试了几种方法,并且已经被注释掉了.任务显然很简单:在保存之前将用户从请求添加到表单,然后保存.
这里接受的工作方法是什么?
Jon*_*nan 12
如果用户无法修改,我会说它甚至不应该首先包含在表单中.
无论哪种方式,使用commit参数来防止生成的对象立即保存应该工作(假设FormPreview使用ModelForm):
obj = form.save(commit=False)
obj.user = request.user
obj.save()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5637 次 |
| 最近记录: |