2012-12-16 15 views
7

Jestem nowy w Django i dopiero zaczynam moją pierwszą stronę. Próbuję ustawić rejestrację dla nowych użytkowników.Jak poprawnie używać django UserCreationForm

Użyłem wbudowanego widoku do logowania i wylogowania, ale nie ma dla rejestracji, w dokumencie mówi, że powinienem użyć wbudowanej postaci: UserCreationForm.

Kodeks moim zdaniem jest:

def register(request): 
if request.method =='POST': 
    form = UserCreationForm(request.POST) 
    if form.is_valid(): 
     user = User.objects.create_user(form.cleaned_data['username'], None, form.cleaned_data['password1']) 
     user.save() 
     return render_to_response('QCM/index.html') # Redirect after POST 
else: 
    form = UserCreationForm() # An unbound form 

return render_to_response('register.html', { 
    'form': form, 
},context_instance=RequestContext(request)) 

To działa dobrze, ale nie jestem zadowolony, jak ten kod jest napisane w views.py który obsługuje rdzeń mojego wniosku (pytanie wielokrotnego wyboru).

Moje pytania są następujące:

  • Czy to jest prawidłowy sposób korzystania z UserCreationForm
  • gdzie mogę umieścić ten kod tak, by być oddzielona od reszty moim app

Dziękuję Ci za Twoje odpowiedzi.

Odpowiedz

4
  1. Django jest modułowy, więc można napisać osobny kont lub zarządzanie użytkownikami aplikację, która może obsłużyć tworzenie użytkownika, zarządzanie. W takim przypadku należy wpisać kod register w aplikacji views.py z konta.

  2. Możesz bezpośrednio zapisać UserCreationForm, który da ci obiekt użytkownika.

przykład:

... 
form = UserCreationForm(request.POST) 
if form.is_valid(): 
    user = form.save() 
... 
+0

Thx za odpowiedź – ltbesh

Powiązane problemy