問題タブ [django-errors]
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フォームのエラーメッセージが表示されない
だから私は私の見解を持っています:
私のforms.py:
そして私のテンプレート:
ここで、フォーム フィールドを分割する前のフォームは次のようになっていることに注意してください。
フォームに問題がある場合 (フィールドの 1 つが欠落している場合など) は、自動的にエラー メッセージが表示されます。テンプレートのフォーム フィールドを分割した後 ({{ form.first_name }}、{{ form.last_name }}、および {{ form.password }} を独自のセクションにした)、自動的にエラー メッセージが表示されなくなりました。これは正常ですか?
しかし、主な問題は、なぜ私の {{ if form.errors }} ステートメントが機能しないのか、エラー メッセージがある場合にエラー メッセージを表示するのかということです。たとえば、意図的にフォームのフィールドに入力せずに [送信] をクリックすると、データベースは更新されませんが (これは良いことです)、エラー メッセージは表示されません。理由はありますか?
また、 {{ forms.non_field_errors }} を削除しようとし、次のようにフィールド エラーのみを返そうとしました。
しかし、それでも機能しません。
django - django エラーメッセージのリストの最初のエラーにアクセスする方法
form という名前のフォームがあり、エラー メッセージが存在する場合、最初のエラー メッセージだけを画面に表示したいとします。私はいくつかの調査を行いましたが、テンプレートにこれを入力することで、最初のエラー メッセージだけにアクセスできるようです。
しかし、それは私にはうまくいかないようです。何も表示されません。フォーム エラーが発生した場合に最初のエラー メッセージだけが表示されるようにテンプレートを作成するにはどうすればよいですか? これが私が試したものです。
だから、私が欲しいのは、{{form.errors}} の最初のエラーだけを表示したいということです。変更するときは注意してください
に
すべてのエラーが表示されますが、最初のエラー メッセージだけを表示したいのです。では、ドット表記が機能しない理由はありますか?
django - フォームエラーメッセージを表示するときにdjangoが使用するフィールド名を変更する
さて、フォームがあり、テンプレートに次のコードがあります。
ここで、フォームに必須のユーザー名フィールドがあり、意図的に入力しないとします。それは言うだろう
エラーメッセージのフィールドを伝えるときに表示される「ユーザー名」という単語を変更するにはどうすればよいですか? 私が作成したモデルから名前をとっていると推測しています(私がフォームを作成した)モデルに書いたからです
ご覧のとおり、first_name フィールドにエラーがある場合、django はそれを表示します。
「first_name」ではなく「First Name」を表示するにはどうすればよいですか?
django - django:フォームエラーを印刷するときに箇条書きを削除する方法
さて、フォームがあり、ユーザーがフォームで送信したときにエラーがあれば印刷したいと思います。私のテンプレートには、コードがあります
問題は、ユーザーがユーザー名を入力するのを忘れたと仮定すると、django がこのエラー メッセージを表示することです。
「-」が箇条書きであることを除いて..箇条書きを削除して、ユーザー名とインラインにするにはどうすればよいですか? CSS を使用して表示をインラインにしようとしましたが、うまくいきませんでした。
django - CharFieldフォームバリデーターが発生させる可能性のあるすべてのエラーメッセージのdjangoリスト?
このようなモデルを作成しました
それからフォームを作成し、独自のエラーメッセージを表示したいと考えています。
クラスUsersForm(forms.ModelForm):
ご覧のとおり、first_name フィールドが入力されていない場合は、既にエラー メッセージを作成しています。ただし、CharField がさらに多くのエラー メッセージを生成する可能性があることはわかっています (たとえば、送信された first_name が max_length より大きい場合)。発生する可能性のあるすべてのエラーメッセージに対してカスタムエラーメッセージが必要です。CharField フォームで発生する可能性のあるすべてのエラー メッセージのリストを確認できる場所はありますか?
また、first_name の詳細な名前が機能しません。詳細な名前を機能させることができれば、エラー メッセージ用のカスタム メッセージを作成する必要はありません。verbose_name が機能していないというスレッドを既に作成しており、機能していない正確な理由をまだ把握していないことに注意してください。verbose_name が機能し始めることができれば、それは素晴らしいことです。スレッドへのリンクは次のとおりです。
django - django テンプレートタグの使い方
したがって、この getattribute 関数を使用したい (このリンクにあります) https://snipt.net/Fotinakis/django-template-tag-for-dynamic-attribute-lookups/
私のdjangoテンプレートで。models.py がある app フォルダーに templatetags フォルダーを作成しました。また、空のinint .py ファイルを作成して templatetags フォルダーに保存しました。次に、テンプレート タグ フォルダーに getattribute.py というファイルを作成し、上記のリンクにあるスニペットをコピーして getattribute.py ファイルに貼り付け、ファイルを保存しました。
これは私のテンプレートがどのように見えるかです:
これが私のmodels.pyの外観です。
私のforms.pyはこれです。
これは私のviews.pyです
これで、サーバーを実行すると、フォームがエラーなしで表示されます。ただし、わざと名のセクションに入力せずに送信を押すと、「このフィールドは必須です」と表示されます。テンプレートで {{ field_obj.label }} を使用している場合、詳細な名前を表示したいのですが、スニペットは詳細な名前を表示する必要があります。しかし、何らかの理由で詳細な名前が表示されません。テンプレートタグを適切に使用していないためだと思いますか?
django - Django重複エントリエラー(1062)の原因?
以下の情報を更新して、同じエラーが発生している別のモデル/ビューを参照しました。単純なモデルなので、考慮する変数が少なくなります...
私は次のモデルを持っています:
私は次のビューを持っています (基本的に、いくつかのカスタム関数が混在する一般的な django クラスベースの更新ビュー):
私たちのライブバージョンでは、時折このエラーの通知を受け取ります:
このエラーがいつ発生するかわかりません (通常、このビューは問題なく動作します)。一般的なクラスベースのビューを少し拡張したことを除いて、通常のモデル/ビュー/フォームのセットアップがあると思います。これは m2m フィールドに関連しているという以下のコメントに同意します。このエラーが発生するたびに、「save_m2m」が呼び出され、このエラーが発生します。私はまだそれを再現することはできません。これは更新ページ/ビューから発生するため、既存のモデルを既存の関連レコードで更新する場合にのみ発生すると思います。これは私が見つけることができる最も近い他の投稿ですが、役に立たなかった: IntegrityError: (1062, "Duplicate entry '1830327-1792993' for key 'some_instance_A_id'") but no UNIQUE constraint
django - urls.pyをインポートするときにDjangoが構文エラーを出す
私のtestProject/urls.pyはこれです
私のtestApp/urls.pyはこれです
)
今、私が実行してサーバーを実行すると
それは私に
言うエラー
そしてトレースバックは
構文エラーが発生する理由は何ですか? エラーが行 3 にあると書かれている場所と、行 2 にあると書かれている場所があるため、重みがあります。Django の一般的なログイン ビューを変更して使用することを決定するまで、これはほんの数分前に機能していたことに注意してください。フォームを authentication_form として渡すときにエラーが発生し、そのエラーを修正しましたが、そのエラーを修正した直後に、この構文エラーが発生しました。
フォームを authentication_form として渡すことに関する以前の問題は、参照としてここで表示できます
Django汎用ログインビューが「strオブジェクトは呼び出し可能ではありません」というエラーを返します
それを包むだけで役立ちます。