«пользователь с таким именем пользователя уже существует» больше не находится в Django UserCreationForm?

#python #django

#python #django

Вопрос:

Я изучаю Django и столкнулся с вопросом.

В нескольких руководствах Django Youtube я вижу, как Youtuber использует UserCreationForm для создания страницы регистрации, а затем экспериментирует с формой, чтобы показать зрителям страницу.

И наступает момент, когда они регистрируют пользователя, возможно, с именем пользователя «test1», а затем пытаются зарегистрировать пользователя с тем же именем пользователя, что и «test1», и они получают сообщение об ошибке «пользователь с этим именем пользователя уже существует»

Однако, когда я следовал этим руководствам, я вижу, что сообщение об ошибке больше не появляется, и оно просто снова отображает исходную UserCreationForm на веб-странице.

Удалено ли это сообщение об ошибке? И я просматривал файлы Django Github и документацию Django, но в ней ничего не упоминается об ошибке имени пользователя, так что… Я думаю, что он удален, но я хочу быть уверенным.

* редактировать! Я добавил код к своему вопросу, как показано ниже:

 # views.py
from django.shortcuts import render, redirect
from django.contrib.auth.forms import UserCreationForm, AuthenticationForm
from django.contrib.auth import login, logout
from django.http import HttpResponse

def signup_view(request):
    if request.method == "POST":
        form = UserCreationForm(request.POST)
        if form.is_valid():
            user = form.save()
            login()
            return redirect('articles:article_list')
    form = UserCreationForm()
    context = {'form':form}
    return render(request, 'accounts/signup.html', context)
 
 # login.html
{% extends 'base.html' %}

{% block content %}
    <form class="site-form" action="" method="POST">
        {% csrf_token %}
        {{ form }}
        <input type="submit" value="Login">
    </form>
{% endblock %}
 

Комментарии:

1. Вы используете стандартную модель пользователя и шаблон страницы создания пользователя или создали свой собственный?

2. поделитесь полным кодом!!

3. Пожалуйста, добавьте код к вашему вопросу.

4. Я использую стандартную модель пользователя! Я добавил приведенный выше код

Ответ №1:

Нашел ответ.

Похоже, что UserCreationForm не выводит эту ошибку по умолчанию, когда имя пользователя уже существует. Когда вы пытаетесь напечатать ошибку вручную, чтобы проверить, существует ли имя пользователя в базе данных, это работает!