1

django userrena のマグショットを、ユーザー名、パスワード、電子メール アドレスと共に初期登録フォームに追加したいと思います。私はよくある質問(http://docs.django-userena.org/en/latest/faq.html#how-do-i-add-extra-fields-to-forms)で言ったようにやったので、今私は自分のものを持っていますユーザー登録フォームを継承したフォーム。また、save メソッドを再定義して、新しいマグショットをユーザーのプロファイルに保存しました。しかし、そのフィールドをフォームに表示する方法がわかりません。userena は自動的にレンダリングするモデルフォームを使用しているため、例は見つかりませんでした。同じように、このフォームにテキスト フィールドを forms.CharField として追加できます。

4

1 に答える 1

2

非常に簡単なようです。userena FAQ に記載されている手順に従って、いくつかのフィールドをフォームに追加し、新しい forms.py に次のように記述します。

from django import forms    
from userena.forms import SignupForm

class SignupFormExtra(SignupForm):
    avatar = forms.ImageField()

    def save(self):
        new_user = super(SignupFormExtra, self).save()

        profile = new_user.get_profile()
        profile.mugshot = self.cleaned_data['avatar']
        profile.save()

        return new_user
于 2012-09-12T16:58:42.820 に答える