-1

フォームセットをセッションに保存する方法はありますか?


私のシナリオはこんな感じです。ユーザーデータを入力してユーザー証明書をアップロードするためのフォームがあります。次のページ([次へ]をクリックしてフォーム)に、プロフェッショナルの詳細を入力するためのフォームがあります。

フォームセットを使用して生成されるフォームの最大数を制限することは可能ですか?

4

2 に答える 2

1

私があなたの質問を正しく理解していれば、セッションで from の状態を保存する方法、そして Django 1.4 以降では、実際に箱から出してそれを行う方法が付属しています。

https://docs.djangoproject.com/en/dev/ref/contrib/formtools/form-wizard/

フォームを複数のセクションに分割し、ユーザーが個別に入力できるようにすることができます。ユーザーがいずれかのセクションに入力すると、次のページに移動し、その時点でフォームの状態がセッションに保存されます。すべてのページがいっぱいになると、すべてをデータベースに保存できます。

さらに、あるページから別のページに移動するときに、次のページにあるはずのロジックを追加します。

最初のページで、ユーザーがアップロードしたいコンテンツの種類を尋ねるウィザードがある画像。次に、2 番目のページに移動すると、最初のページからの回答に応じて、適切なアップロード フィールド (ビデオ、音楽、またはグラフィックのフィールド) が表示されます。

于 2012-09-19T12:40:05.140 に答える
0

私は FormWizard と答えたでしょうが、それを使用したくない場合は、単純に 2 つのフォームを作成できます。ユーザーが最初のフォームを送信すると、それをセッションにピクルしてから、2 番目のフォームを生成します。彼が戻るリンクをクリックすると、保存されたデータをアンピクルし、フォームに事前入力します。

def submitFirstForm(request):
  data = request.POST['data']
  import cPickle        
  request.session['data'] = cPickle.dumps(data)
  ...

 def backBtn(request):
   import cPickle
   data = cPickle.loads(request.session['page'])
   form = DataForm(data)
   ...
于 2012-09-19T13:05:59.367 に答える