2

私はかなり長いフォームを持っているので、ユーザーは一度に完了することができない場合があります。ユーザーがボタンを押してフォームを保存し、後で入力できるようにしたいと思います。私が最初に考えたのは、とにかくフォームを保存して、なんらかの形で不完全なフラグを立てることでした。ただし、不完全なフォームが無効であり、強制的に保存できないという事実を回避できないようです。たとえば、フォームの最後にある必須フィールドが空白の場合、form.is_valid()ステップをスキップしても、フォームをデータベースに保存できません。

フォームのデータを一時的に保存する別の方法はありますか?また、私はこの質問が以前に尋ねられたことを知っていますが、この答えはあまり役に立たなかったと思います:Djangoはフォームに不完全な進行状況を保存します

更新 これまでのご回答ありがとうございました。以下の回答のいくつかは、私が元の質問から詳細を省略したことに気づきました。ユーザーが戻ってきたときにフォームを完成させるかどうかをユーザーが選択できるようにする必要があります。ユーザーはこのフォームに1日に数回情報を入力します。フォームアイテムAを完了する準備ができていないフォームに戻る可能性がありますが、代わりにフォームアイテムBに最初から入力する必要があります。したがって、最後の不完全なフォームをフォームに自動入力するだけでは、うまくいきません。元の質問を投稿したときに、これが発生しなかったのは残念です。

4

1 に答える 1

0

django-merlinを使用すると、その長いお尻のフォームを多数の小さなフォームに分割できます。以前の各フォームは、ユーザーが戻ってくるのを待つだけで、ユーザーのセッションに保存されます。ウィザードのベースURLを介して移動し、そこに戻ると、中断したのと同じ場所から再開されます。

于 2013-03-14T05:25:49.720 に答える