0

という名前の Django アプリを開始したとします。モデルでUserenaBaseProfileクラスaccountsを拡張する必要があります。これまでのところ、django-userena チュートリアルのこのコードでそれを行いました。

class MyProfile(UserenaBaseProfile):
    user = models.OneToOneField(User,
                                unique=True,
                                verbose_name=_('user'),
                                related_name='my_profile')
    favourite_snack = models.CharField(_('favourite snack'),
                                       max_length=5)

フォームを使用して、 に含まれているフィールド以外のフィールドを持つユーザーを作成する方法がまだわかりませんuserena/models.py。このモデル ファイルには、MyProfile クラスでUserenaBaseProfile継承した が含まれています。accounts/models.pyフィールドfavorite_snackは、拡張したい任意のフィールドです (django-userena チュートリアルで行ったように)。

そこから、これまでに行われたことが正しく行われたとしても、私の本当の質問は、デフォルトのフォームをどのように拡張するかです(これはアカウントの作成のためなので、 userena/forms.pyクラスを拡張したいと考えてSignupFormsます。もちろん、これはユーザー クラスに拡張したフィールドであるため、フォーム フィールドを使用してサインアップ フォームを拡張しようとしています。usernamepassword,emailfavorite_snack

私は Django と Web 開発の初心者です! 私は、コード例をdjango-userena のドキュメントにできるだけ似たものにして、他の人がそれを始められるようにしました。ありがとう!

4

1 に答える 1

0

F.A.Quserena のドキュメントのセッションには次のようなものがあります。

これはまさにあなたが探しているものです。そこには、userena のデフォルトを上書きする新しい形式でFirst nameとが含まれています。Last name最後に、いくつかの微調整を行う必要があることを確認してくださいurls.py

あなたの場合、新しいフォームfavourite_snackのメソッドに保存する必要があります。saveFirst nameLast name

お役に立てれば!

于 2013-06-02T04:27:42.063 に答える