14

Django 1.5 のカスタム ユーザー モデルについて質問があります

現時点では、デフォルトのユーザー モデルで問題ないように見えます。性別、場所、誕生日などの変数をいくつか追加して、ユーザーがアカウントの登録と有効化に成功した後にそれらの変数を入力できるようにする必要があります。

では、このシナリオを実装する最良の方法は何ですか?

Profile という新しいアプリを作成し、AbstractBaseUser を継承する必要がありますか? カスタム変数を models.py に追加しますか? 私が従うべき良い例はありますか?

前もって感謝します

4

1 に答える 1

28

ユーザー モデルを に拡張し、AbstractUser追加のフィールドを追加します。AbstractUserは、標準のユーザー プロファイル フィールドをすべて継承しますが、AbstractBaseUserこれらのフィールドを使用せずにゼロから開始します。

リリース間際にベスト プラクティスを定義するのは難しいですが、User モデルを大幅に再定義する必要がない限りAbstractUser、可能な場合は使用する必要があるようです。

を使用してユーザーモデルを拡張するためのドキュメントは次のとおりですAbstractUser

次にmodels.py、次のようになります。

class MyUser(AbstractUser):
    gender = models.DateField()
    location = models.CharField()
    birthday = models.CharField()

MyUserUser モデルに付属する標準のメール、パスワード、ユーザー名などのフィールドと、上記の 3 つの追加フィールドがあります。

次に、 を に追加する必要がありAUTH_USER_MODELますsettings.py

AUTH_USER_MODEL = 'myapp.MyUser'

于 2013-02-27T22:30:08.653 に答える