問題タブ [django-validation]

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 投票する
2 に答える
6479 参照

django - フィールドに値があるかどうかに基づくdjangoフォームの検証

  1. phone_type( for ) を選択して空のフォームを送信すると、フォームは規定formHomePhoneで選択された値なしでそれ自身を返しますphone_typeThis field is required

  2. ビューからわかるように、フォームの最初の電話番号は必須ですが、他の電話番号は必須ではありません。値が存在する場合にのみ処理したい。空のフォームで [送信] をクリックすると、追加の電話番号フィールドからエラーがスローされますが、UKPhoneNumberField>Phone number must include an area code.該当するフィールドに番号がある場合にのみ検証するにはどうすればよいですか?

このようなview.pyファイルがあります

次のようなforms.py:

そして、このようなmodels.py:

ところで(私のnew_client_view機能はあまりDRYではありません。お勧めはありがたく受け取られます)

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

django - Django - モデルが保存される前に ``clean`` から m2m オブジェクト (または raw pk) にアクセスします

もちろん、 をそのまま使用することはできません。そうしないとself.related_field.objects.all()...needs to have a primary key...エラーが発生しますが、 内でカスタム検証を実行したい場合、Model.cleanこのデータにアクセスする方法がないようです。もちろんForm.clean、これを行うために使用できますが、私は常にフォームを使用しているわけではありません。

0 投票する
5 に答える
18729 参照

python - djangoの検証エラーでcssクラスをフィールドに追加する

私は Django のモデルフォームを使用していますが、これは非常に優れています。関連する検証エラーがある場合、実際のテキスト ボックス (例: border:red ) を強調表示するにはどうすればよいですか。基本的に、フィールドに検証エラーが発生した場合にクラス(エラー)を追加したいのです。

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

python - Djangorequest.userは空です

djangoを使用して、Googleを通じてユーザーを認証しています。私は最初のリクエストトークンを取得し、認証のためにユーザーをグーグルにリダイレクトします。その後、グーグルはユーザーを私のウェブサイトにリダイレクトします(私が提供するredirect_urlを使用して)。

この時点request.user.idNoneそうですrequest.user.username、なぜこれが起こっているのですか?(グーグルが送ってくれた)access_tokensをDBに入力するにはユーザーIDが必要です。

どのような条件下request.userでDjangoのオブジェクトを空にすることができますか?

更新1:http://mywebsite.com/lserv?s=googコントロールがdjangoビュー機能に戻ったときにurlパターンを使用してGoogleからリダイレクトされたが、djangoはrequest.userオブジェクトユーザーをユーザー名またはIDのない匿名ユーザーとして提供します。なぜ?

UPDATE2: これはすべて今のところ実行されpython manage.py runserverています...

UPDATE3:誰かがこれに似た何かに直面しましたか?基本的に、理由もなく、userinはrequest自動的にクリアされ、Anonymousユーザーとして割り当てられます。これはすべて、ユーザーからの(ブラウザーからの)URL要求の間に発生します。なんで?

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

django - フォームの検証に関するDjangoの問題

私はこのすべての検証がどのように機能するかを理解しようとしていますが、コツをつかんでいません。djangoprojectのほんの少しの例を読みましたが、概念とすべてがどのように結び付けられているかが欠けています。

私のコードを見て、物事がどうあるべきか、そしていくつかの説明を再配置していただければ、それは素晴らしいことです!

だから私は非常に簡単なことをしたいのです。メールのみでログインしてください。ユーザーがメールアドレスを入力したら、データベースにあるかどうかを確認し、ある場合はログインします。そうでない場合は、「ユーザーはすでにデータベースにあります」というエラーを発生させ、この人が/registerにアクセスすることを提案します。

だから私が現在持っているのは:

view.py:

forms.py

つまり、要点は、概念が欠落しているということです。検証エラーはどこで発生する必要がありますか、ビューまたはフォームですか?どこに上げられますか?誰がそれをキャッチしますか?各ファイルに何をインポートする必要があるかなど。

これはそれほど難しいことではないはずですが、私は今完全に迷子になっています。コードを分析して機能するように変更できる例がないので、ここにいます。

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

python - djangoフォームが検証に失敗した後に何を返すのですか?

djangoフォームが検証に失敗した後、どうすれば自分のページに戻ることができますか?

これは私が現時点で持っているものです。フォーム オブジェクトと、戻す必要がある他のすべてのオブジェクトで失敗した後、render_to_response を返します。しかし、ブラウザーの URL にはフォーム アクションの値が含まれているため、これはまるで私が何か悪いことをしているように。どうにかして HttpResponseRedirect と共にオブジェクトを返すことができればいいのですが、ドキュメントを見ることはできません。

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

django - カスタム検証が呼び出されないのはなぜですか?

私はこのモデルとモデルフォームを持っています:

そして、私はビューで次のようにそれらを使用しています:

そしてこれは私のテンプレートです:

問題は、私の検証が呼び出されることはないということです。一度に追加できるコメントが3つあります。テキストフィールドが空の場合、djangoは問題ないと言っています。私は何を正しくしていないのですか?

編集:バリデーター付きのバリアント:

バリデーターが呼び出されていません。

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

python - Django -- フォームの検証 (整数フォーム フィールドを手動で消去できないのはなぜですか)

これはかなり簡単なはずですが、Django のドキュメントからはわかりません。ModelForm フィールドを作成した IntegerField モデル フィールドがあります。問題のフィールドには $ 値 (価格) が含まれており、ユーザーが 10 ではなく $10 を入力したときにエラー メッセージ (「整数を入力してください」) が表示されなければ、UX の観点から望ましいでしょう。

手動でフォームのクリーニングを試みましたが、他の検証メソッドの後に clean_field メソッドが実行されているようです。これまでの私の読書もそれを確認しているようです。

モデルフォームでIntegerFieldを維持しながら、これを回避する方法はありますか? RegexFieldにするだけですか?

EDIT:上記とRegexFieldの組み合わせで行きました。別の/より良い方法があるかどうか、まだ興味があります。

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

python - Django-フィールドが欠落している場合でも、実行中のmodel.cleanを管理/追加

さて、私はこのようなモデルを持っています:

ここで、Djangoadminを使用して新しい飛行機のレコードを追加しようとすると。両方のフィールドを空白のままにして保存すると、行を指すこのDjangoエラーが発生しますif self.tail and self.wheel

Djangoは、クリーンに実行する前に、必須フィールドが入力されていることを確認するべきではありませんか?いずれにせよ、この問題を処理するための最良の方法は何ですか?

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

python - モデルとフォームでの検証のヘルプ

モデルとフォームの検証についていくつか質問があります。これらについて私を助けてもらえますか:


検証はどこで行う必要がありますか? モデルまたはフォームにある必要がありますか? これを行う正しい方法は、フォームにバリデーターを、モードに制約を設定することですか?


フォームに「clean_」メソッドを書くこととバリデータを書くことの違いは何ですか? 「clean_」メソッドに検証チェックを入れる人が多いのを見てきました。


私が処理しているリクエストでは、URL 文字列に「alive」というパラメーターがあります。これは通常 1 または 0 です。フォームでこれを定義する正しい方法は何ですか? それが数値であり、1 または 0 のみであることを検証する必要があります。これは正しい方法ですか?

このフィールドのデフォルト値を定義するにはどうすればよいですか。つまり、このパラメーターが渡されない場合、デフォルトは 0 (False) になります。

クライアント側にフォームがありません。JS POST リクエストを検証するために Django フォームを使用しています。


モデル フィールドの 1 つで、画面解像度を 1234x4321 の形式で保存する必要があります。モデルとフォームの両方CharFieldに正規表現の検証を追加するとしてこれを宣言する必要がありますか? 正規表現の検証の例は役に立ちます。


ありがとう。