【问题标题】:Set up an extended form (django-userena)设置扩展表单 (django-userena)
【发布时间】:2013-06-02 02:12:43
【问题描述】:

假设我已经启动了一个名为 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 类的 accounts/models.py 中继承的 UserenaBaseProfilefavorite_snack 字段只是我想扩展的一些任意字段(如 django-userena 教程中所做的那样)。

从那里开始,如果到目前为止所做的一切都是正确的,我真正的问题是如何扩展默认的userena/forms.py 表单(这是用于创建帐户,所以我想扩展 SignupForms 类,因为*it 仅包含 usernamepassword,email 的字段。当然,我希望使用 favorite_snack 表单字段扩展注册表单,因为这是我扩展到我的用户类的字段。

抱歉,如果我遗漏了一些重要内容,我是 Django 和 Web 开发的新手!我试图让代码示例尽可能与django-userena docs 相似,以帮助其他人开始使用它。谢谢!

【问题讨论】:

    标签: django django-models django-forms


    【解决方案1】:

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

    这正是您要寻找的。它们在其中包含 First nameLast name 以覆盖 userena 的默认值的新形式。最后看到需要对urls.py做一些调整

    在您的情况下,您需要将favourite_snack 保存在新表单的save 方法中,就像他们对First nameLast name 所做的那样

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2013-02-04
      • 2011-10-12
      • 2013-07-14
      • 1970-01-01
      • 1970-01-01
      • 2012-12-30
      • 2015-01-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多