Я использую встроенную модель пользователя для хранения информации о пользователе в своем приложении. Однако при регистрации нового пользователя я хочу, чтобы имя пользователя было уникальным. Для этого я решил переопределить метод clean_username в моей модели. Вот мой forms.py файлТип Ошибка при использовании пользовательского метода clean_ <fieldname> в django
from django import forms
from django.contrib.auth.models import User
class Registration_Form(forms.ModelForm):
password=forms.CharField(widget=forms.PasswordInput())
class Meta:
model=User
fields=['first_name', 'last_name', 'username', 'email', 'password']
def clean_username(self):
value=self.cleaned_data['username']
if User.objects.filter(username=value[0]):
raise ValidationError(u'The username %s is already taken' %value)
return value
А вот мой views.py файл
from django.shortcuts import render
from django.shortcuts import redirect
# Create your views here.
from django.contrib.auth.models import User
from registration.forms import Registration_Form
def register(request):
if request.method=="POST":
form=Registration_Form(request.POST)
if form.is_valid():
unm=form.cleaned_data('username')
pss=form.cleaned_data('password')
fnm=form.cleaned_data('first_name')
lnm=form.cleaned_data('last_name')
eml=form.cleaned_data('email')
u=User.objects.create_user(username=unm, password=pss, email=eml, first_name=fnm, last_name=lnm)
u.save()
return render(request,'success_register.html',{'u':u})
else:
form=Registration_Form()
return render(request,'register_user.html',{'form':form})
Однако по нажатию на кнопку отправки формы я получаю эту ошибку
Тип Exception: TypeError Исключительное значение:
Объект 'dict' не может быть вызван Исключение Место: /home/srai/project_x/registration/views.py в регистре, строка 12
линия в вопросе это
ЕНД = form.cleaned_data («имя пользователя»)
Может кто-нибудь пожалуйста, скажите мне, почему возникает эта ошибка и как ее решить. Спасибо.