1

django-userenaDjango 1.5.1 プロジェクト内で使用しています。

私はウェブサイトのユーザーのものを実装しているので、基本的にdjango-userenaは問題ありません。EditProfileFormただし、に 2 つの追加フィールドが含まれていることに気付きました。

  • ファーストネーム
  • 苗字

プロファイルフォームの編集

ドキュメントのように、私userena.models.UserenaBaseProfileは自分のモデルで使用しましたaccounts.models.Profile。それは私のクラスとUserenaBaseProfile同様に継承します。BaseHuman

下から上へ:

  • からの 1 つのフィールドaccounts.models.Profile
  • からの 2 つのフィールドuserena.models.UserenaBaseProfile
  • からの 3 つのフィールドhelpers.models.BaseHuman
  • 私が何も知らない2つの余分なフィールド(からEditProfileForm?)

問題


そのため、最初は を作成するとこれらの 2 つの余分なフィールドが上書きされると思いましたが、ドキュメントのEditProfileFormExtraように余分なフィールドを追加することさえできません。

ここに私のURLがあります:

# 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. フォーム コードのスニペットを確認する必要がありますが、フィールドを追加できない理由はありません。独自のフォーム クラスを作成するルートに進む場合は、リンク先の FAQ のようにフィールドを追加すると、問題は発生しないはずです。

于 2013-11-12T07:40:06.393 に答える