我正在用django構建一個登錄/註銷用戶系統,並且我開始使用django auth系統進行遊戲。Django:自定義用戶表單而不是內置的自定義必填字段
所以我使用自定義Django的UserCreationForm像這樣:
views.py
from django.contrib.auth.forms import UserCreationForm
def register(request):
if request.method == 'POST':
form = UserCreationForm(request.POST)
if form.is_valid():
new_user = form.save()
return HttpResponseRedirect("/books/")
else:
form = UserCreationForm()
return render(request, "registration/register.html", {
'form': form,
})
但這種形式呈現了很多不必要的東西,如下所示:https://app.box.com/s/wmrtyal3mctb9hctsnom
首先,我想擺脫添加的信息,是否有一個很好的方法來做到這一點?有沒有什麼好的方法來做到這一點?有沒有辦法自己編輯UserCreationForm,還是需要創建自己的表單?
其次,假設我想向註冊頁面添加更多必填字段,那麼執行此操作的最佳方法是什麼?假設我想讓一個人註冊男性或女性 - 我意識到我應該擴展用戶模型,但是如何註冊原始用戶模型和擴展用戶模型?
謝謝你的建議,並請與我裸露 - 這是使用Django的身份驗證系統:)
您可以詳細說明如何完成此操作嗎?我是否插入源代碼並將其更改爲我自己的forms.py文件?如果你不喜歡解釋,你能指出我是在一個開始的好地方,而不是源文件本身。 此外,爲什麼我會想這樣做,而不僅僅是擴展模型類?有什麼好處? – ApathyBear
@AathyBear更新了我的答案和更多細節。如果這回答了您的問題,請隨意選擇它作爲答案。 – fr1tz
謝謝你的回答,非常有幫助。 :) – ApathyBear