Skip to main content
 首页 » 编程设计

python之获取 session 信息并放入 django 表单中

2025年05月04日28luoye11

此表单不应该发布,它正在抓取当前从上一个设置页面保存的内容。但是,在我的设置过程中:我只是想获取 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'])