0
私は私がすべてのページのためにそれを再利用できるように、私のbase.htmlテンプレートで私のレジスタを表示するために、これを使用し、以下の機能セッションでフォームを保存して取得しますか?
def include_user_create(request):
if 'form' not in request.session:
form = CreateUserForm()
else:
form = request.session['form']
return { 'create_user_form' : form }
とcontext_processor.py
ファイルを持っています。関数CREATE_USERはフォームは、彼らが内に表示することができるので、私はcontext_processor
は、フォームを再利用できるようにエラーを保存する目的のために、フォームを保存したい無効である場合は、フォームが
def create_user(request):
form = CreateUserForm(request.POST or None, request.FILES or None)
if request.method == 'POST':
if form.is_valid():
user = form.save(commit=False)
user.save()
user = authenticate(username=user.email, password=user.password)
else:
request.session['form'] = form #<--- save
next = request.POST.get('next', '/')
return HttpResponseRedirect(next)
を提出扱いテンプレート。これを行う
は私にエラーを与える:
TypeError: <CreateUserForm bound=True, valid=False, fields=(email;password;confirm_password)> is not JSON serializable
が、これは何とか仕事を得るために、それは可能ですか?
pickeメソッドのダンプに関するドキュメントが見つかりません。これまで私はrequest.session ['form'] = pickle.dumps(self、form)を持っています。私は関数ベースのビューでこれを実行しています。そしてそれは私に自己が定義されていないことを与えます。 PickleSerializerの使い方を教えてください。 – vandelay
@vandelay私の答えの編集を見てください。 – albar
私はそれを試してみました。それは、をpickleできません:django.utils.text.capfirstと同じオブジェクトではありません。 –
vandelay