В Django есть встроенная функциональность для регистрации пользователей, которая использует аутентификацию Django и модель User. По умолчанию, при регистрации нового пользователя Django предоставляет выбор профиля для пользователя.
Однако, если вы хотите убрать выбор профиля для нового пользователя, вам понадобится немного изменить код в вашем проекте.
1. Создайте файл forms.py в вашем приложении Django (если его еще нет) или добавьте следующий код в существующий файл forms.py:
from django.contrib.auth.forms import UserCreationForm from django.contrib.auth.models import User class UserRegistrationForm(UserCreationForm): class Meta: model = User fields = ("username", "password1", "password2") # Указываете поля, которые хотите показать при регистрации пользователя
2. Вам также понадобится настроить представление (view) для обработки регистрации нового пользователя и использования созданной формы:
from django.shortcuts import render, redirect from .forms import UserRegistrationForm def register(request): if request.method == "POST": form = UserRegistrationForm(request.POST) if form.is_valid(): form.save() return redirect("home") # Перенаправляете пользователя на нужную страницу после регистрации else: form = UserRegistrationForm() return render(request, "registration/register.html", {"form": form})
3. В шаблоне register.html (папка templates/registration) отключите показ выбора профиля для нового пользователя:
{% extends "base.html" %} {% block content %} <h2>Регистрация</h2> <form method="post"> {% csrf_token %} {{ form.as_p }} <button type="submit">Зарегистрироваться</button> </form> {% endblock %}
Теперь, когда новый пользователь будет регистрироваться, ему будет показываться только поле для имени пользователя и пароли. Если данные, введенные пользователем, будут проходить валидацию, пользователь будет создан без выбора профиля.
Надеюсь, это поможет вам убрать выбор профиля для нового пользователя в Django.