From ca95eab5c12bc1005755053edfdacb24e03fdf3b Mon Sep 17 00:00:00 2001 From: Andrey Smakotin Date: Mon, 1 Dec 2025 23:51:07 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A3=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD=D0=B0=20?= =?UTF-8?q?=D1=80=D0=B5=D0=B3=D0=B8=D1=81=D1=82=D1=80=D0=B0=D1=86=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D0=B5=D0=B9=20=D0=B2=D0=BD=D1=83=D1=82=D1=80=D0=B8?= =?UTF-8?q?=20=D1=82=D0=B5=D0=BD=D0=B0=D0=BD=D1=82=D0=BE=D0=B2=20-=20?= =?UTF-8?q?=D1=82=D0=B5=D0=BF=D0=B5=D1=80=D1=8C=20=D1=82=D0=BE=D0=BB=D1=8C?= =?UTF-8?q?=D0=BA=D0=BE=20=D0=B2=D1=85=D0=BE=D0=B4=20=D0=B8=20=D1=83=D0=BF?= =?UTF-8?q?=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=80=D0=BE?= =?UTF-8?q?=D0=BB=D1=8F=D0=BC=D0=B8=20=D0=B2=D0=BB=D0=B0=D0=B4=D0=B5=D0=BB?= =?UTF-8?q?=D1=8C=D1=86=D0=B5=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../accounts/templates/accounts/register.html | 9 --- myproject/accounts/urls.py | 1 - myproject/accounts/views.py | 63 +------------------ myproject/templates/index.html | 49 +-------------- myproject/templates/navbar.html | 5 +- myproject/templates/register.html | 41 ------------ 6 files changed, 4 insertions(+), 164 deletions(-) delete mode 100644 myproject/accounts/templates/accounts/register.html delete mode 100644 myproject/templates/register.html diff --git a/myproject/accounts/templates/accounts/register.html b/myproject/accounts/templates/accounts/register.html deleted file mode 100644 index 6bb93fe..0000000 --- a/myproject/accounts/templates/accounts/register.html +++ /dev/null @@ -1,9 +0,0 @@ -{% extends 'base.html' %} - -{% block title %}Регистрация{% endblock %} - -{% block content %} -

Регистрация

-

Форма регистрации доступна на главной странице.

-Перейти на главную -{% endblock %} \ No newline at end of file diff --git a/myproject/accounts/urls.py b/myproject/accounts/urls.py index 13acaa7..79ef796 100644 --- a/myproject/accounts/urls.py +++ b/myproject/accounts/urls.py @@ -4,7 +4,6 @@ from . import views app_name = 'accounts' urlpatterns = [ - path('register/', views.register_view, name='register'), path('login/', views.login_view, name='login'), path('logout/', views.logout_view, name='logout'), path('profile/', views.profile_view, name='profile'), diff --git a/myproject/accounts/views.py b/myproject/accounts/views.py index 46c22ae..6634653 100644 --- a/myproject/accounts/views.py +++ b/myproject/accounts/views.py @@ -11,72 +11,11 @@ from django.contrib.auth.tokens import default_token_generator from django.contrib.auth.decorators import login_required from django.contrib.auth import update_session_auth_hash from django.contrib.auth.forms import PasswordChangeForm -from .forms import CustomUserCreationForm, PasswordResetForm +from .forms import PasswordResetForm from .models import CustomUser import uuid -def register(request): - if request.method == 'POST': - form = CustomUserCreationForm(request.POST) - if form.is_valid(): - user = form.save(commit=False) - user.is_active = False # Пользователь не активен до подтверждения email - user.save() - - # Отправляем письмо с подтверждением - confirmation_url = request.build_absolute_uri( - reverse('accounts:confirm_email', kwargs={'token': user.email_confirmation_token}) - ) - - subject = 'Подтверждение Email' - message = f'Привет {user.name}!\n\nДля подтверждения вашего email перейдите по следующей ссылке: {confirmation_url}\n\nСпасибо за регистрацию!' - from_email = settings.DEFAULT_FROM_EMAIL - recipient_list = [user.email] - - # Выводим письмо в консоль, как вы просили - print(f"Письмо для подтверждения:\nТема: {subject}\nСообщение:\n{message}\nПолучатель: {recipient_list}") - - # В реальной системе отправили бы письмо: - # send_mail(subject, message, from_email, recipient_list, fail_silently=False) - - messages.success(request, 'Пожалуйста, проверьте вашу почту для подтверждения email.') - return redirect('accounts:login') - else: - form = CustomUserCreationForm() - - return render(request, 'register.html', {'form': form}) - - -def register_view(request): - if request.method == 'POST': - form = CustomUserCreationForm(request.POST) - if form.is_valid(): - user = form.save(commit=False) - user.is_active = False # Пользователь не активен до подтверждения email - user.save() - - # Отправляем письмо с подтверждением (выводим в консоль) - confirmation_url = request.build_absolute_uri( - f'/accounts/confirm/{user.email_confirmation_token}/' - ) - - subject = 'Подтверждение Email' - message = f'Привет {user.name}!\n\nДля подтверждения вашего email перейдите по следующей ссылке: {confirmation_url}\n\nСпасибо за регистрацию!' - from_email = 'noreply@example.com' # Используем значение из настроек - recipient_list = [user.email] - - # Выводим письмо в консоль, как вы просили - print(f"Письмо для подтверждения:\nТема: {subject}\nСообщение:\n{message}\nПолучатель: {recipient_list}") - - messages.success(request, 'Пожалуйста, проверьте вашу почту для подтверждения email.') - return redirect('accounts:login') # Перенаправляем на страницу входа после регистрации - else: - form = CustomUserCreationForm() - - return render(request, 'register.html', {'form': form}) - - def login_view(request): if request.method == 'POST': email = request.POST.get('email') diff --git a/myproject/templates/index.html b/myproject/templates/index.html index 9c6d83f..02b79c2 100644 --- a/myproject/templates/index.html +++ b/myproject/templates/index.html @@ -1,6 +1,6 @@ {% extends 'base.html' %} -{% block title %}Регистрация / Вход{% endblock %} +{% block title %}Вход{% endblock %} {% block content %} @@ -20,44 +20,10 @@

Добро пожаловать

- - -
- -
-
- {% csrf_token %} -
- - {{ form.name }} - {% if form.name.errors %} -
{{ form.name.errors }}
- {% endif %} -
-
- - {{ form.email }} - {% if form.email.errors %} -
{{ form.email.errors }}
- {% endif %} -
- {% include 'accounts/password_input.html' with field_name=form.password1.id_for_label field_label='Пароль' required=True field_errors=form.password1.errors %} - {% include 'accounts/password_input.html' with field_name=form.password2.id_for_label field_label='Подтверждение пароля' required=True field_errors=form.password2.errors %} - -
-
- -
+
{% csrf_token %}
@@ -104,17 +70,6 @@