此表单不应发布,它会抓取当前设置页面中当前保存的内容。但是,在我的设置中的这一点:我只是想获取会话信息并保存它。如果用户决定更改其信息。
到目前为止我尝试过:
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
提前感谢您的帮助。
答案 0 :(得分:1)
几乎在那里;尝试
request.session['form_data'] = user_info_form.data
无论表单是否有效,都会填充此页面。然后,您可以将其放回到后续请求中的表单中:
user_info_form = UserInfoForm(request.session['form_data'])