设置扩展表单(django-userena)

时间:2013-06-02 02:12:44

标签: django django-models django-forms

假设我已经启动了一个名为accounts的Django应用程序,我希望该模型扩展UserenaBaseProfile类。到目前为止,我已经使用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表单(这是为了创建帐户,所以我想扩展类{{ 1}}因为*it只包含SignupFormsusernamepassword,的字段。当然我希望使用email表单字段扩展注册表单,因为这是我扩展到我的用户类的字段。

对不起,如果我遗漏了一些大事,我是Django和Web开发的新手!我试图让代码示例尽可能与django-userena docs类似,以帮助其他人开始使用它。谢谢!

1 个答案:

答案 0 :(得分:0)

在userena的doc的F.A.Q会话中,有:How do I add extra fields to forms?

这正是您正在寻找的。它们在新表单中包含First nameLast name,它会覆盖userena的默认值。最后看到需要对urls.py

进行一些调整

在您的情况下,您需要将favourite_snack保存在新表单的save方法中,与First nameLast name

希望这有帮助!