获取会话信息并放入django表单

时间:2012-08-16 18:47:50

标签: python django django-forms

此表单不应发布,它会抓取当前设置页面中当前保存的内容。但是,在我的设置中的这一点:我只是想获取会话信息并保存它。如果用户决定更改其信息。

到目前为止我尝试过:

  • request.session['form_data'] = user_info_form.cleaned_data仅在form.is_valid()成立时才有效。
  • request.session.get['single_input_variable_name']不适用于列表,词典或元组。

我的下一步是什么?

if request.method == 'POST':
...
else:
    profile = Profile.objects.get(user=request.user)
    initial = {}
    initial['first_name'] = request.user.first_name
    initial['last_name'] = request.user.last_name
    initial['email'] = request.user.email
    if profile:
        initial['about'] = profile.about
        initial['country'] = profile.country
    user_info_form = UserInfoForm(initial=initial)
context['user_info_form'] = user_info_form
context['profile'] = profile

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

几乎在那里;尝试

request.session['form_data'] = user_info_form.data

无论表单是否有效,都会填充此页面。然后,您可以将其放回到后续请求中的表单中:

user_info_form = UserInfoForm(request.session['form_data'])