1

django-userena在 Django 1.5.1 项目中使用。

我正在实现网站的用户事物,所以基本上django-userena做得很好。但是我注意到EditProfileForm包含 2 个额外的字段:

编辑个人资料表格

与文档中一样,我userena.models.UserenaBaseProfile在自己的模型中使用了accounts.models.Profile。它继承了我UserenaBaseProfileBaseHuman一类。

从下到上:

  • 1 个字段来自accounts.models.Profile
  • 2 个字段来自userena.models.UserenaBaseProfile
  • 3 个字段来自helpers.models.BaseHuman
  • 2个我一无所知的额外字段(来自EditProfileForm?)

问题


所以我起初认为创建 aEditProfileFormExtra会覆盖这两个额外的字段,但我什至不能像文档中那样添加额外的字段。

这是我的网址:

# Admin URLs
urlpatterns = patterns('',
    url(r'^admin/',   include(admin.site.urls)),
)

# Userena URLs
urlpatterns += patterns('userena.views',
    url(r'^^(?P<username>[\.\w-]+)/edit/$', 'profile_edit', {'edit_profile_form': EditProfileFormExtra}),
)

# Homemade URLs
urlpatterns += patterns('',
    # ...
)

# Flatpage URLs
urlpatterns += patterns('django.contrib.flatpages.views',
    # ...
)

遵循文档并将其应用于userena.views.profile_edit,我看不出我的错误可能在哪里。我仔细检查了视图、URL 和表单名称。

问题


  1. 为什么个人资料表格上有 2 个额外的字段?
  2. 我无法在个人资料表单中添加额外的字段,为什么?
4

1 回答 1

1
  1. 名字和姓氏字段在某种程度上被烘焙到 EditProfileForm 中。看看表单类:https ://github.com/bread-and-pepper/django-userena/blob/master/userena/forms.py似乎摆脱这些字段的最简单方法是创建您自己的表单类,而不是继承 EditProfileForm。

  2. 我需要查看您的表单代码片段,但您没有理由不能添加其他字段。如果您走创建自己的表单类的路线,请添加您链接到的常见问题解答中的字段,您应该没有任何问题。

于 2013-11-12T07:40:06.393 回答