問題タブ [django-formwizard]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2178 参照

django - Djangoフォームウィザード - リクエストをビューに渡しますか?

requestフォーム ウィザードの done() メソッドで変数にアクセスする方法はありますか?

リクエストに含まれるユーザー オブジェクトにアクセスしたいのですが、リクエストを done() メソッドに渡す方法がわかりません。

0 投票する
1 に答える
1121 参照

django - FormWizard と FileFields (Django 1.4)

My FormWizard (Django 1.4) では、ユーザーはウィザードを完了するまで前後に移動できます。ウィザードは、ユーザーが入力したすべての値を保持し、ユーザーが既に完了したステップに戻った場合にそれらを表示します。

これは CharField ではうまく機能しますが、FileFields では機能しません。ユーザーが FileField を含むステップでファイルを送信し、後でこのステップに戻った場合、ファイルを再度アップロードする必要があります。

ユーザーがファイルを再アップロードする必要がないようにする方法はありますか?

フォーム データはまだデータベースに保存されていないことに注意してください。

0 投票する
0 に答える
738 参照

django - (ab) Djangoフォームウィザードを使用して入札を行います-これは可能ですか?

私は何日も前からレンガの壁に真っ向から突っ込んできました。私より賢くて経験豊富な人にアドバイスを求める時が来ました.

コンテキスト:私の Web アプリの一部として、ユーザーが多肢選択式の質問で構成されるクイズに答えることができるクイズ アプリケーションを構築しています。質問はすべてユーザーが作成したものなので、同時に興味深い問題がいくつかあります。

a) クイズ質問フォーム (radioselect ウィジェット) をその場で動的に作成する必要があります。回答オプションと質問テキストの両方がユーザー生成 (モデル 'Question' と 'Answer') であるため、ビューでクエリを実行し、変数をフォームの init に渡す必要があります。そうすれば、選択肢を入力し、ラベルを質問テキストで上書きできます。

forms.py から:

b) これは、クイズの質問フォームがモデルフォームであることを意味します (与えられた回答のインスタンスを保存する「AnsweredQuestions」というモデルがあります。クイズ用のモデル「TakenQuiz」もあります)。ユーザーがクイズを開始したときに TakenQuiz のインスタンスを作成し、クイズの質問に答えてフォームが保存されたときに AnsweredQuestion のインスタンスを作成します。

models.py から

views.py から (テスト ビュー):

c) クイズは可変数のクイズ質問で構成できます。最大制限のみを設定します。したがって、ほとんどすべてが動的です:(

だからここに私の具体的な質問があります:

  1. フォームウィザードを使用している場合、URL パラメータにアクセスしてクエリに使用するにはどうすればよいですか? (ちなみに、そのためのクラスベースの汎用ビューは嫌いです)質問の数を動的にしようとしましたが、変数(len(quiz_questions)をウィザードに正確に渡す方法をまだ理解していません...私のURL次のようになりますが、残念ながら、すべてをテンプレート コンテキストまたはフォームの init に渡す必要があります。

    urls.py から:

  2. 必要なことをするためにフォームウィザードを曲げようとする必要さえありますか? 私は Google の調査とソース コードに多くの時間を費やしましたが、いくつかの問題の潜在的な解決策を見つけましたが、すべてではありませんでした。特に、それらすべてを同時にではありません...

    おそらく、少なくともこれらすべてを上書きする必要があります。

  3. 最後に: フォームウィザードを使用できない場合、クイズをどのように処理すればよいでしょうか? フォームウィザードを使用することは、私にとってはすっきりしているように思えました。ウィザードの大きな利点は、クイズ全体が完了して検証されるまでフォーム データをどこかに保存する必要がないことと、ウィザードがステップ数と現在のステップを追跡してくれることです。私は初心者で、この種の高度なものをゼロから作成するのはそれほど得意ではありません。

ご協力いただきありがとうございます。アドバイスやヘルプをいただければ幸いです。

0 投票する
2 に答える
1179 参照

django - FormWizard でフォーム フィールドを変更する (Django 1.4)

次のクラスを検討してください。

models.py:

フォーム.py:

Form1はステップ 1 でForm2使用され、a のステップ 2 で使用されSessionWizardViewます。

Form2.checkbox_2ユーザーがステップ 1 でチェックした場合、ステップ 2 で無効にするにはどうすればよいForm2.checkbox_1ですか?

私は成功せずにオーバーライドすることでこれを達成しようとしましたget_form():

の値を意図的にチェックしていないことに注意してくださいForm2.checkbox_1。いずれにせよ、ウィジェットの属性を設定しようとしました。

0 投票する
0 に答える
304 参照

django - formwizard 内の動的フォームで行き詰まる

数日前に Django メーリング リストでこの質問をしましたが、残念ながら返信がありませんでした。

Django 1.2.3 では、動的フォームを機能させようとしています。最初のページで、ユーザーは自分の住所/クライアント ID を入力する必要があり、2 番目のページで顧客はケータリング用の料理を注文できます。

2 ページ目にフォームを動的に追加するには、 http://code.google.com/p/django-dynamic-formset/を使用します

ここに私のmodels.pyがあります:

urls.py:

私が抱えている問題は、テンプレートで完全なフォームを呼び出すことしかできないこと{{form}}です。JavaScript を適切に動作させるには、次のようにフィールドを個別に呼び出す必要があります

formwizard を使用せずに動的フォーム (DishesFormset) を個別にテストすると、すべて正常に動作します。

フォームウィザード内で個別のフォームフィールドを呼び出すにはどうすればよいですか?

0 投票する
4 に答える
4855 参照

django - Djangoフォームウィザード-各ステップのカスタマイズされたフォームレイアウト

現在、私はdjangoフォームウィザードを試しています。これで基本的な設定が機能し、可変テキストを表示するステップごとに異なるテンプレートを呼び出すことができます。

次に、さらに一歩進んで、ステップごとにカスタマイズされたフォームレイアウトを作成します。Djangoのドキュメントには、常に垂直方向に配置されたフォームを表示する一般的な方法が示されています。

私の実験では、2つのステップがあります。

  • ステップ1:電子メールとパスワード(垂直方向の配置が必要な2つのフィールドのみ)
  • ステップ2:個人データ:住所、職業、..。

したがって、ステップ2では、完全に異なるフォームレイアウトを使用し、次にステップ1:フィールドセットを使用して、フィールドの水平方向の配置(住所:番地と番号など)、...

djangoのドキュメントから始めて、以下が機能すると思います(まだテストしていません):

しかし、ここで私が抱えている問題は、2つあることですblocksform_ifそしてform_else同じフォームレイアウトを呼び出しています。そのため、フォームレイアウトを二重にメンテナンスします。

私が達成したいことを達成するためのより良い方法はありますか?

ありがとう!

敬具

0 投票する
0 に答える
1062 参照

inline-formset - フォーム ウィザードでインライン フォームセットを使用する場合、フォームセットのフォーム検証はどこに行くのですか?

SessionWizard でインライン フォームセットを使用する方法の詳細を学習する例を作成しています。最終的に、送信前にテンプレートを介して個々のフォームを追加および削除するために、動的フォームセットを統合したいと考えています。ただし、2 番目のフォームにデータがない場合、通常の ModelForm とは異なり、検証に失敗します。

オーバーライドする必要がある SessionWizard 内のメソッドはありますか? それは Django 内で本質的に処理されるものですか?

ガイダンスと例をいただければ幸いです。

models.py

urls.py

フォーム.py

wizard-form.html

0 投票する
1 に答える
620 参照

django - 複数ページのジャンゴフォーム - スライダーまたはフォームウィザード?

複数のページに分割したい長いフォームがあります。

プレゼンテーションの 2 つのオプションを評価しています。

  1. FormWizardを使用して複数のページにフォームを表示する
  2. CSS3のスライダーのようなスライダーでフォームを表示します。

スライダーは、CSS3 を使用してスライドの印象を与える 1 ページの長さです。すべてのコンテンツ領域を隣り合わせにフロートさせ、オーバーフローを非表示にし、width5 つのスライドがある場合はページを 500% に設定し、左マージンを -100% 移動して次のスライドを表示します。したがって、すべて1ページですが、フォームがスライドページに表示されているようです.

私にとって、スライダー アプローチの利点は、フォームが 1 つしかなく、ユーザーがフォームをスライドの最後に 1 回だけ送信するため、前後に移動して変更を加えることができることです (これは一般的なケースです)。

ミニフォームを使用FormWizardして各ページの後に送信することとは対照的です。FormWizards特にユーザーが以前のページの応答を変更したい場合は、複雑に思えます。フォームページも必要ですが、最後のページでのみ受け入れるFileFieldようです。FormWizardFileField

ただし、このスライド フォーム (CSS3 または JScript のいずれか) アプローチを使用している人はあまり見たことがありません。したがって、初心者として、これを行う際に明らかな落とし穴があるかどうか疑問に思っていますか?

0 投票する
1 に答える
1315 参照

django - Django 1.4フォームウィザードテストケース

フォーム ウィザード ビュー のテストを作成しようとしていますdjango.contrib.formstools.wizard.views.CookieWizardViewが、テスト ケースで順次投稿を作成する方法がわかりません。

最初の応答からの何かに基づいて、またはセッション管理に使用される Cookie に関係する何かに基づいて、2 番目の投稿データを変更する必要があると思います。

0 投票する
1 に答える
1310 参照

django - フォームセットを使用した Django 1.4 フォームウィザード

フォームウィザード内でフォームセットを使用したいと考えています。

私のurls.pyで:

基本的なビューを使用して、フォームを投稿した結果を確認します。

フォームセットに複数のエントリがある場合、1 つのエントリしか表示されません。

私は期待しました:

ドキュメントには次のように記載されています。

WizardView は、ModelForms と ModelFormSets をサポートしています。>as_view() メソッドは、initial_dict に加えて、>ModelForm および ModelFormSet のインスタンスを含む必要がある instance_dict 引数を取ります。initial_dict と同様に、これらのディクショナリ キーの値は、フォーム リストのステップ番号と等しくなければなりません。

残念ながら、ここで何を意味するのかわかりません。