問題タブ [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.
django - Djangoフォームウィザード - リクエストをビューに渡しますか?
request
フォーム ウィザードの done() メソッドで変数にアクセスする方法はありますか?
リクエストに含まれるユーザー オブジェクトにアクセスしたいのですが、リクエストを done() メソッドに渡す方法がわかりません。
django - FormWizard と FileFields (Django 1.4)
My FormWizard (Django 1.4) では、ユーザーはウィザードを完了するまで前後に移動できます。ウィザードは、ユーザーが入力したすべての値を保持し、ユーザーが既に完了したステップに戻った場合にそれらを表示します。
これは CharField ではうまく機能しますが、FileFields では機能しません。ユーザーが FileField を含むステップでファイルを送信し、後でこのステップに戻った場合、ファイルを再度アップロードする必要があります。
ユーザーがファイルを再アップロードする必要がないようにする方法はありますか?
フォーム データはまだデータベースに保存されていないことに注意してください。
django - (ab) Djangoフォームウィザードを使用して入札を行います-これは可能ですか?
私は何日も前からレンガの壁に真っ向から突っ込んできました。私より賢くて経験豊富な人にアドバイスを求める時が来ました.
コンテキスト:私の Web アプリの一部として、ユーザーが多肢選択式の質問で構成されるクイズに答えることができるクイズ アプリケーションを構築しています。質問はすべてユーザーが作成したものなので、同時に興味深い問題がいくつかあります。
a) クイズ質問フォーム (radioselect ウィジェット) をその場で動的に作成する必要があります。回答オプションと質問テキストの両方がユーザー生成 (モデル 'Question' と 'Answer') であるため、ビューでクエリを実行し、変数をフォームの init に渡す必要があります。そうすれば、選択肢を入力し、ラベルを質問テキストで上書きできます。
forms.py から:
b) これは、クイズの質問フォームがモデルフォームであることを意味します (与えられた回答のインスタンスを保存する「AnsweredQuestions」というモデルがあります。クイズ用のモデル「TakenQuiz」もあります)。ユーザーがクイズを開始したときに TakenQuiz のインスタンスを作成し、クイズの質問に答えてフォームが保存されたときに AnsweredQuestion のインスタンスを作成します。
models.py から
views.py から (テスト ビュー):
c) クイズは可変数のクイズ質問で構成できます。最大制限のみを設定します。したがって、ほとんどすべてが動的です:(
だからここに私の具体的な質問があります:
フォームウィザードを使用している場合、URL パラメータにアクセスしてクエリに使用するにはどうすればよいですか? (ちなみに、そのためのクラスベースの汎用ビューは嫌いです)質問の数を動的にしようとしましたが、変数(len(quiz_questions)をウィザードに正確に渡す方法をまだ理解していません...私のURL次のようになりますが、残念ながら、すべてをテンプレート コンテキストまたはフォームの init に渡す必要があります。
urls.py から:
必要なことをするためにフォームウィザードを曲げようとする必要さえありますか? 私は Google の調査とソース コードに多くの時間を費やしましたが、いくつかの問題の潜在的な解決策を見つけましたが、すべてではありませんでした。特に、それらすべてを同時にではありません...
おそらく、少なくともこれらすべてを上書きする必要があります。
最後に: フォームウィザードを使用できない場合、クイズをどのように処理すればよいでしょうか? フォームウィザードを使用することは、私にとってはすっきりしているように思えました。ウィザードの大きな利点は、クイズ全体が完了して検証されるまでフォーム データをどこかに保存する必要がないことと、ウィザードがステップ数と現在のステップを追跡してくれることです。私は初心者で、この種の高度なものをゼロから作成するのはそれほど得意ではありません。
ご協力いただきありがとうございます。アドバイスやヘルプをいただければ幸いです。
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
。いずれにせよ、ウィジェットの属性を設定しようとしました。
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) を個別にテストすると、すべて正常に動作します。
フォームウィザード内で個別のフォームフィールドを呼び出すにはどうすればよいですか?
django - Djangoフォームウィザード-各ステップのカスタマイズされたフォームレイアウト
現在、私はdjangoフォームウィザードを試しています。これで基本的な設定が機能し、可変テキストを表示するステップごとに異なるテンプレートを呼び出すことができます。
次に、さらに一歩進んで、ステップごとにカスタマイズされたフォームレイアウトを作成します。Djangoのドキュメントには、常に垂直方向に配置されたフォームを表示する一般的な方法が示されています。
私の実験では、2つのステップがあります。
- ステップ1:電子メールとパスワード(垂直方向の配置が必要な2つのフィールドのみ)
- ステップ2:個人データ:住所、職業、..。
したがって、ステップ2では、完全に異なるフォームレイアウトを使用し、次にステップ1:フィールドセットを使用して、フィールドの水平方向の配置(住所:番地と番号など)、...
djangoのドキュメントから始めて、以下が機能すると思います(まだテストしていません):
しかし、ここで私が抱えている問題は、2つあることですblocks
:form_if
そしてform_else
同じフォームレイアウトを呼び出しています。そのため、フォームレイアウトを二重にメンテナンスします。
私が達成したいことを達成するためのより良い方法はありますか?
ありがとう!
敬具
inline-formset - フォーム ウィザードでインライン フォームセットを使用する場合、フォームセットのフォーム検証はどこに行くのですか?
SessionWizard でインライン フォームセットを使用する方法の詳細を学習する例を作成しています。最終的に、送信前にテンプレートを介して個々のフォームを追加および削除するために、動的フォームセットを統合したいと考えています。ただし、2 番目のフォームにデータがない場合、通常の ModelForm とは異なり、検証に失敗します。
オーバーライドする必要がある SessionWizard 内のメソッドはありますか? それは Django 内で本質的に処理されるものですか?
ガイダンスと例をいただければ幸いです。
models.py
urls.py
フォーム.py
wizard-form.html
django - 複数ページのジャンゴフォーム - スライダーまたはフォームウィザード?
複数のページに分割したい長いフォームがあります。
プレゼンテーションの 2 つのオプションを評価しています。
- FormWizardを使用して複数のページにフォームを表示する
- CSS3のスライダーのようなスライダーでフォームを表示します。
スライダーは、CSS3 を使用してスライドの印象を与える 1 ページの長さです。すべてのコンテンツ領域を隣り合わせにフロートさせ、オーバーフローを非表示にし、width
5 つのスライドがある場合はページを 500% に設定し、左マージンを -100% 移動して次のスライドを表示します。したがって、すべて1ページですが、フォームがスライドページに表示されているようです.
私にとって、スライダー アプローチの利点は、フォームが 1 つしかなく、ユーザーがフォームをスライドの最後に 1 回だけ送信するため、前後に移動して変更を加えることができることです (これは一般的なケースです)。
ミニフォームを使用FormWizard
して各ページの後に送信することとは対照的です。FormWizards
特にユーザーが以前のページの応答を変更したい場合は、複雑に思えます。フォームページも必要ですが、最後のページでのみ受け入れるFileField
ようです。FormWizard
FileField
ただし、このスライド フォーム (CSS3 または JScript のいずれか) アプローチを使用している人はあまり見たことがありません。したがって、初心者として、これを行う際に明らかな落とし穴があるかどうか疑問に思っていますか?
django - Django 1.4フォームウィザードテストケース
フォーム ウィザード ビュー のテストを作成しようとしていますdjango.contrib.formstools.wizard.views.CookieWizardView
が、テスト ケースで順次投稿を作成する方法がわかりません。
最初の応答からの何かに基づいて、またはセッション管理に使用される Cookie に関係する何かに基づいて、2 番目の投稿データを変更する必要があると思います。
django - フォームセットを使用した Django 1.4 フォームウィザード
フォームウィザード内でフォームセットを使用したいと考えています。
私のurls.pyで:
基本的なビューを使用して、フォームを投稿した結果を確認します。
フォームセットに複数のエントリがある場合、1 つのエントリしか表示されません。
私は期待しました:
ドキュメントには次のように記載されています。
WizardView は、ModelForms と ModelFormSets をサポートしています。>as_view() メソッドは、initial_dict に加えて、>ModelForm および ModelFormSet のインスタンスを含む必要がある instance_dict 引数を取ります。initial_dict と同様に、これらのディクショナリ キーの値は、フォーム リストのステップ番号と等しくなければなりません。
残念ながら、ここで何を意味するのかわかりません。