Как правильно использовать django UserCreationForm

Я новичок в Django и только начинаю свой первый веб-сайт. Я пытаюсь установить регистрацию для новых пользователей.

я использовал встроенный вид для входа и выхода из системы, но для регистрации нет, в документе говорится, что я должен использовать встроенную форму : UserCreationForm.

код моего представления:

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))

он работает нормально, но я не удовлетворен, поскольку этот код написан в views.py это обрабатывает ядро моего приложения (множественный выбор вопрос.)

мои вопросы :

  • это правильный способ использования UserCreationForm
  • где я мог бы поместить этот код, чтобы он был отделен от остальной части мое приложение

Спасибо за ваши ответы.

1 ответов


  1. Django является модульным, поэтому вы можете написать отдельный счета или руководство пользователя приложение, которое может обрабатывать создание пользователей, управление. В этом случае вы ставите код register на views.py of счета app.

  2. вы можете напрямую сохранить UserCreationForm который даст вам объект пользователя.

пример:

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