/
HitriyKrab
/
DjangoProjectShop
Обзор
Документация
Войти
/
HitriyKrab
/
DjangoProjectShop
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
MyAuth/views.py
39 строк
2 KB
ХитрыйКраб
Добавлены оптимизации запросов к БД: детали заказа, списки товаров и заказов, профиль пользователя
31 окт 2025, 16:49
31 окт 2025, 16:49
e5ecb4c
Код
Авторство
О чём код?
from django.urls import reverse_lazy from django.views.generic import TemplateView, CreateView, UpdateView from django.contrib.auth.forms import UserCreationForm from django.contrib.auth import authenticate, login from .models import Profile class MyProfileView(TemplateView): template_name = 'MyAuth/me.html' class MyRegisterView(CreateView): # Встроенная форма для создания пользователя (с валидацией, проверкой пароля и тд.) form_class = UserCreationForm template_name = 'MyAuth/register.html' success_url = reverse_lazy('MyAuth:me') # Функция аутентификации только что созданного пользователя (если создали успешно) def form_valid(self, form): # Сохраняем пользователя response = super().form_valid(form=form) # Создаем профиль пользователя Profile.objects.create(user=self.object) # Аутентифицируем пользователя username = form.cleaned_data.get('username') password = form.cleaned_data.get('password1') user = authenticate( self.request, username=username, password=password ) login(request=self.request, user=user) return response class MyProfileUpdateView(UpdateView): queryset = Profile.objects.select_related('user') fields = ("avatar", "bio") template_name = 'MyAuth/me_update.html' success_url = reverse_lazy('MyAuth:me')