Создание учетных
записей пользователей
425
Страница
регистрации
Теперь мы построим страницу для регистрации новых пользователей. Для этой
цели мы используем класс Django
UserCreationForm
, но напишем собственную
функцию представления и шаблон.
URL-адрес регистрации
Следующий код предоставляет шаблон URL для страницы регистрации — также
в файле
users/urls .py
:
urls.py
...
urlpatterns = [
# Страница входа
...
#
Страница регистрации
url(r'^register/$', views.register, name='register'),
]
Шаблон соответствует URL
http://localhost:8000/users/register/
и отправляет за-
просы функции
register()
, которую мы сейчас напишем.
Функция представления register()
Функция представления
register()
должна вывести пустую форму регистрации
при первом запросе страницы регистрации, а затем обрабатывает заполненную
форму регистрации при отправке данных. Если регистрация прошла успешно,
функция также должна выполнить вход для нового пользователя. Включите сле-
дующий
код в
users/views .py
:
views.py
from django.shortcuts import render
from django.http
import HttpResponseRedirect
from django.core.urlresolvers import reverse
from django.contrib.auth
import login, logout, authenticate
from django.contrib.auth.forms
import UserCreationForm
def logout_view(request):
...
def register(request):
"""Регистрирует нового пользователя."""
if request.method != 'POST':
# Display blank registration form.
form = UserCreationForm()
else:
# Обработка заполненной формы.
form = UserCreationForm(data=request.POST)
if form.is_valid():
new_user = form.save()
# Выполнение входа и перенаправление на домашнюю страницу.