2009-09-05 14 views
10

Używam Django-Registration, a formularz ma tylko 3 pola (nazwa użytkownika, adres e-mail, hasło i ponowne hasło), ale dlaczego nie mogę dodać nazwiska i imienia?Django, zarejestruj użytkownika z imieniem i nazwiskiem?

W Formularzu wszystko jest w porządku, ale po prostu model Użytkownik przyjmuje 3 argumenty:

new_user = User.objects.create_user(username, email, password) 

ale dlaczego nie mogę zrobić:

new_user = User.objects.create_user(username, email, password, first_name ,last_name) 

Django dokumentacja nie mówi nic około 3 argumentów; wszystkie samouczki w sieci wystarczy użyć 3 argumentów ...

Dlaczego ?? Albo jak wykorzystam imię i nazwisko?

Odpowiedz

21

Zrobiłem go:

new_user = User.objects.create_user(username, email, password) 
new_user.is_active = False 
new_user.first_name = first_name 
new_user.last_name = last_name 
new_user.save() 
+3

Przegapiłeś new_user.save() na końcu. – Pravel

3

wiem, że znalazł sposób wokół, ale w ten sposób poniżej mogą również Cię zainteresują. Dzieje się tak dlatego, że wymaga to słów kluczowych (które zostaną przekazane do metody użytkownika __init__). https://docs.djangoproject.com/en/1.6/ref/contrib/auth/#manager-methods

User.objects.create_user("user1", "[email protected]", "pwd", first_name="First", last_name="Last") 
+1

To wydaje się nieco czystsze. A teraz znam różnicę między ** kwargs i * args. – teewuane

Powiązane problemy