問題タブ [django-users]
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 admin - admin のユーザー関連モジュール
拡張ユーザー プロファイル (クラス名: UserProfile) を使用します。この名前付きアカウント用のアプリを作成しました。私が設定した設定で:
しかし、RestrictedUsername という名前の別のモデルをそのアプリで作成しました。私はそこにユーザー名を入れたいと思っています。それは予約されており、登録プロセスでは利用できません。理由はわかりませんが、管理画面に表示されません。私はそれを登録しました:
それを機能させる方法はありますか?
django - Djangoで、Userテーブルに関連付けられたUserProfileテーブルにデータを保存するにはどうすればよいですか?
ドキュメントに従って、モデルにUserProfileテーブルを設定し、それを管理領域のUserテーブルに関連付けて、ユーザーが登録するときにこのUserProfileテーブルにユーザーに関する追加情報を保存しようとしています。
私は以下views.py
を持っています:
上記のコードのコメントでわかるように、関連付けられたUserProfileオブジェクトを取得できますが、そこからUserProfileテーブルに追加のデータ(ロール)を格納する場所がわかりません。すべてのドキュメントは私に次のように伝えています:
get_profile() このユーザーのサイト固有のプロファイルを返します。現在のサイトでプロファイルが許可されていない場合はdjango.contrib.auth.models.SiteProfileNotAvailableを発生させ、ユーザーがプロファイルを持っていない場合はdjango.core.exceptions.ObjectDoesNotExistを発生させます。
ここで表示できます:https ://docs.djangoproject.com/en/dev/topics/auth/#django.contrib.auth.models.User.get_profile
ただし、ドキュメントにはget_profile()
、返されるオブジェクトの種類や、それを使用してUserProfileテーブルに情報を格納する方法は記載されていません。
django - Djangoで、User.objects.create_user(username、email、password)を呼び出すと、post_saveが2回呼び出されるのはなぜですか?
views.pyには、新しいユーザーアカウントが登録されたときに呼び出される次のビューがあります。リクエストからユーザー名、メールアドレス、パスワードを取得し、それらの資格情報を使用してユーザーを作成するだけです。以下のコードでは、「A」は出力されますが、「B」はクラッシュするため、出力されません。
myapp/models.py
ハンドラーの次のコードがあります。
アプリを実行すると、印刷出力は次のようになります。
過去数日間の開発を通じて、create_user_profile
実行時にメソッドが2回呼び出されることに気付きましUser.objects.create_user(username, email, password)
た。ハンドラーコードをドキュメントから直接コピーしたので、正しいと確信しています(https://docs.djangoproject.com / en / dev / topics / auth /#storing-additional-information-about-users)。create_user_profile
djangoコードのどこからメソッドが呼び出されるかは正確にはわかりませんがcreated
、ハンドラーを呼び出したsaveメソッドがオブジェクトの作成によるものである場合にのみ、フラグがtrueに設定されると想定しています。過去数日間、このコードは正常に機能していましたが、今日、2回目にcreate_user_profile
メソッドがハンドラーによって呼び出されるとcreated
、最初と同じようにフラグがtrueに設定されます。これにより、アプリがクラッシュしますIntegrityError
、同じ主キーで2つのオブジェクトを作成できないと文句を言います。
ですから、私には理解できないことが2つあります。まず、一度だけ呼び出したのにpost_saveが2回発生するのはなぜですかUser.objects.create_user(username, email, password)
。第二に:なぜcreated
旗が突然期待通りに機能しなくなったのですか?
どうすればこれをデバッグできますか?
ありがとう
django - Django ユーザーのプロファイルと投稿、およびユーザーが削除された後にすべての関連付けを削除する方法は?
私はdjangoプロジェクトを書いています。ユーザーが自分のアカウントを削除した後に知りたいのですが、このユーザーに関連するすべてのオブジェクト(たとえば、いくつかの一般的なforeign_key)を自動削除するdjango組み込みの方法はありますか? または、信号「post_delete」を使用して、関連するすべてのオブジェクトを削除する必要がありますか?
django - djangoのuserProfileのフィールドを更新する方法
UserProfileのフィールドにデータを保存しようとすると、Djangoでタイプエラーが発生します。
UserProfileを正しく拡張したと思いました。
私のuserProfileモデル:
私の設定で私は追加しました:
ユーザーから継承されたフィールドに値を挿入する必要があるテストを実行すると、TypeErrorが発生します。
テストされる機能:
django - Djangoでフォームデータを複数のページから1つのテーブルに保存する方法
私はdjangoプロジェクトを構築し、ユーザープロファイルアプリを作成しています. しかし、ユーザーには複数のページでプロファイル作成プロセスを完了してもらいたいです。例: 最初のページで住所と電話番号を入力し、ユーザーが [続行] をクリックして 2 番目のページに移動すると、ユーザーは性別や生年月日などを入力できます。しかし、このすべての情報を 1 つのテーブルに格納したいと考えています。
私が以前行っていたのは、最初のページのデータを隠しフィールドに保存し、次のページに渡して最終ページで送信することでした。それは正しく安全な方法ですか?ジャンゴはこの状態をどのように処理しますか?
ありがとうございました。
django - Django では、ForeignKey を Model のインスタンスにどのように渡しますか?
「ジョブ」を保存するアプリケーションを書いています。これらは、「ユーザー」にリンクされた ForeignKey を持つものとして定義されます。作成時にモデルに ForeignKey を渡す方法がわかりません。Job のモデルは ForeignKey なしで正常に動作しましたが、システムにユーザーを追加しようとしているときにフォームを検証できません。
models.py:
views.py では、次のようにオブジェクトを作成していました。
これにより、フォーム データとアップロードされたファイルがフォームに渡されることを理解しています。ただし、ForeignKey として設定される User を渡す方法がわかりません。
助けていただける方、よろしくお願いします。
django - 外部アプリからビューを拡張するには?
外部アプリからのビューを使用する django プロジェクトがあります。ビューにはフォームが表示されますが、ユーザーは保存されません。このユーザーに別のビューの許可を与えるために、このユーザーを記憶できるようにしたいと考えています。外部アプリのビューを拡張して、このフォームに入力しているユーザーを保存するにはどうすればよいですか?
例: ユーザー A がフォームに入力して求人を掲載します。ユーザー B とユーザー C がこの求人に応募します。ユーザー A に求人に応募した人 (ユーザー B と C) を表示したいのですが、ユーザー A が実際に求人の作成者である場合に限ります。
私が理にかなっていることを願っています。
django - ユーザーがサインアップする前にdjangoモデルフォームデータを保存する
私はdjangoモデルフォームを使用しています。フォームはサインアップしていないユーザーでも入力できますが、送信するにはユーザーがサインアップする必要があります。ここに私のモデルがあります:
そして、views.py
ビューのインデントやその他のものについて気にしないでください。これは、私がやろうとしていることの単なるモデルです。今のところ、匿名ユーザーはフォームを送信できることがわかります。ユーザーがフォームを送信すると、まずサインアップしてから、データをモデルに追加する必要があります。
これはどのように実装できますか?