0

写真をユーザーに保存できるようにしたいのですが、説明を追加することもできます。これらはオプションですが、モデルに追加する方法を教えてください。django のソース コードにアクセスして変更したくありません。モデルをオーバーライドしてフィールドを追加できますか?

views.py ファイル内のこれらの accounts.UserProfile および accounts.UserProfile.image にアクセスするにはどうすればよいですか

django-registration をインストールしました

4

1 に答える 1

1

ドキュメントから:

ユーザーに関連する追加情報を保存したい場合、Djangoは、この目的のために、「ユーザープロファイル」と呼ばれるサイト固有の関連モデルを指定する方法を提供します。

この機能を利用するには、保存する追加情報または使用できる追加メソッドのフィールドを使用してモデルを定義し、モデルからUserモデルにOneToOneFieldという名前のユーザーを追加します。これにより、ユーザーごとにモデルのインスタンスを1つだけ作成できるようになります。例えば:

from django.contrib.auth.models import User

class UserProfile(models.Model):
    # This field is required.
    user = models.OneToOneField(User)

    # Other fields here
    accepted_eula = models.BooleanField()
    favorite_animal = models.CharField(max_length=20, default="Dragons.")

このモデルが特定のサイトのユーザープロファイルモデルであることを示すには、設定AUTH_PROFILE_MODULEに、ドットで区切られた次の項目で構成される文字列を入力します。

  1. ユーザープロファイルモデルが定義されているアプリケーションの名前(大文字と小文字を区別)(つまり、アプリケーションを作成するためにmanage.py startappに渡された名前)。
    1. モデル(大文字と小文字を区別しない)クラスの名前。

たとえば、プロファイルモデルがUserProfileという名前のクラスであり、accountsという名前のアプリケーション内で定義されている場合、適切な設定は次のようになります。

AUTH_PROFILE_MODULE = 'accounts.UserProfile'
于 2012-09-21T17:21:15.967 に答える