2

このフォームは投稿しないでください。前のセットアップページから現在保存されているものを取得しています。ただし、セットアップのこの時点では、セッション情報を取得して保存しようとしています。ユーザーが自分の情報を変更することを決定した場合。

私がこれまでに試したこと:

  • 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

よろしくお願いします。

4

1 に答える 1

1

もうすぐです。試す

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

これは、フォームが有効かどうかに関係なく入力されます。その後、次のリクエストでフォームに戻すことができます。

user_info_form = UserInfoForm(request.session['form_data'])
于 2012-08-16T19:51:16.373 に答える