此表单不应该发布,它正在抓取当前从上一个设置页面保存的内容。但是,在我的设置过程中:我只是想获取 session 信息并保存它。如果用户决定更改其信息。
到目前为止我已经尝试过:
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
提前感谢您的帮助。
请您参考如下方法:
快到了;尝试
request.session['form_data'] = user_info_form.data
无论表单是否有效,这都会被填充。然后,您可以根据后续请求将其放回表单中:
user_info_form = UserInfoForm(request.session['form_data'])
