我想将django userena中的照片添加到初始注册表单中,以及用户名,密码和电子邮件地址。我在faq(http://docs.django-userena.org/en/latest/faq.html#how-do-i-add-extra-fields-to-forms)中说过,所以现在我有自己的表单继承了userena注册表单。我还重新定义了保存方法,以便在用户的个人资料中保存新的照片。但现在我不知道如何使该字段出现在表单中。我找不到任何示例,因为userena使用自动呈现它的模型。以同样的方式,我可以在这个表单中添加一个文本字段作为forms.CharField我想知道我应该使用什么来呈现照片?
答案 0 :(得分:2)
看起来它很简单,只需按照userena常见问题解答中描述的步骤向表单添加一些额外的字段,并在新的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