Django не передает username
Создании пользователя через UserCreationForm, не передается
Где только не искал ошибку нигде не нашел решение. Пожалуйста помогите. Я даже перепроверял свой код и чужой и не нашел видимых отличий. Пытался также на другой версии Django запускать код. Не помогает.
Программа почему-то вместо username отправляет None, но пользователь регистрируется.
from django.shortcuts import render, redirect
from django.contrib.auth.forms import UserCreationForm
from django.contrib import messages
def register(request):
if request.method == "POST":
form = UserCreationForm(request.POST)
form.save()
if form.is_valid():
username = form.cleaned_data.get('usename')
messages.success(request, f'Пользователь {username} был успешно создан!')
return redirect('blog-home')
else:
form = UserCreationForm()
return render(request, 'users/register.html', {'form': form,'title':'Регистрация пользователя'})
html шаблон
{% extends 'blog/main.html' %}
{% block main_section %}
<div class="form-section">
<h2>Регистрация на сайте</h2>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type = 'submit' class='btn btn-outline-warning'>Зарегистрироваться</button>
</form>
</div>
{% endblock main_section %}
urls.py основного приложения
from django.contrib import admin
from django.urls import path, include
from users import views as UserViews
urlpatterns = [
path('admin/', admin.site.urls),
path('reg/', UserViews.register, name = 'reg'),
path('', include('blog.urls')),
main.html
{% if messages %}
{% for mess in messages %}
<div class="alert alert-success">
{{ mess }}
</div>
{% endfor %}
{% endif %}
Ответы (1 шт):
Автор решения: herypank
→ Ссылка
"usename", может все таки "username"
От пользователя Iriskin.
Спасибо большое, буду решать проблемы с опечатками в коде чтобы больше не оставлять таких глупых вопросов.
