3

これをdjango-usersに投稿しましたが、返信がありません。

したがって、ユーザー用の独自のプロファイルオブジェクト(Userのサブクラス)があります。フィールドの1つはimagefieldです。これは、(明らかに)ユーザーがロゴ/サムネイルをアップロードするために使用されます。

問題は、どうすればこれをコメントに含めることができるかということです。

何か案は?前もって感謝します!

4

1 に答える 1

10

Django では User のサブクラス化は推奨されません。代わりに、別のプロファイル モデルを作成してください。

アプリfooがあるとします。

foo のmodels.pyに、以下を追加します。

class FooUserProfile(models.Model):
   user = models.ForeignKey(User, unique=True)
   user_image = models.ImageField()

次に、settings.pyに以下を追加します。

AUTH_PROFILE_MODULE = 'foo.FooUserProfile'

これで、ユーザー オブジェクトがあるときはいつでも、get_profile() 関数を使用してそのプロファイル オブジェクトを取得できます。あなたの場合、テンプレートに次を追加できます。

<img src="{{ comment.user.get_profile.user_image }}"/>

注意: 新しいユーザーを作成するときはいつでも、FooUserProfile を作成してそれをユーザーに関連付ける必要があります。

詳細については、Django のドキュメント、ユーザーに関する追加情報の保存、またはDjango のヒント: ユーザー モデルの拡張に関する記事を参照してください。

于 2009-01-29T19:40:17.720 に答える