Изменение данных пользователей в Django
Пытаюсь изменить данные пользователей, но не получается. Пишет, что неверное значение, что делать?
views.py
@login_required
def сhange_profile(request):
if request.method == 'GET':
form = CustomUserChangeForm()
return render(request, 'profiles/change.html', {'form': form})
else:
form = CustomUserChangeForm(request.POST)
form.save()
return redirect('profile')
models.py
class CustomUser(AbstractBaseUser, PermissionsMixin):
first_name = models.CharField(max_length=20)
last_name = models.CharField(max_length=20)
email = models.EmailField(max_length=124, unique=True)
phone_number = models.CharField(max_length=10, unique=True)
is_active = models.BooleanField(default=True)
is_admin = models.BooleanField(default=False)
is_staff = models.BooleanField(default=False)
is_superuser = models.BooleanField(default=False)
objects = CustomUserManager()
REQUIRED_FIELDS = ['first_name', 'last_name', 'phone_number']
USERNAME_FIELD = 'email'
EMAIL_FIELD = 'email'
def __str__(self):
return self.email
forms.py
class CustomUserChangeForm(UserChangeForm):
class Meta:
model = CustomUser
fields = ('email', 'first_name', 'last_name', 'phone_number')
change.html
Страница для изменений данных!
{{ error }}
<form method="POST">
{% csrf_token %}
<div>
<label for="title">Email</label>
<input type="text" name="email" value="{{ user.email }}">
</div>
<div>
<label for="title">Имя</label>
<input type="text" name="first_name" value="{{ user.first_name }}">
</div>
<div>
<label for="title">Фамилия</label>
<input type="text" name="last_name" value="{{ user.last_name }}">
</div>
<div>
<label for="title">Номер телефона</label>
<input type="text" name="phone_number" value="{{ user.phone_number }}">
</div>
<button type="submit" class="btn btn-primary">Save</button>
</form>
Ошибка от django
ValueError at /profile/сhange/
The CustomUser could not be created because the data didn't validate.
Request Method: POST
Request URL: http://127.0.0.1:8000/profile/%D1%81hange/
Django Version: 4.0.2
Exception Type: ValueError
Exception Value:
The CustomUser could not be created because the data didn't validate.
Exception Location: C:\Timofey\patterson-project\venv\lib\site-packages\django\forms\models.py, line 458, in save
Python Executable: C:\Timofey\patterson-project\venv\Scripts\python.exe
Python Version: 3.10.2
Python Path:
['C:\\Timofey\\patterson-project',
'C:\\Timofey\\patterson-project',
'C:\\Program Files\\JetBrains\\PyCharm '
'2021.2.3\\plugins\\python\\helpers\\pycharm_display',
'C:\\Users\\evgen\\AppData\\Local\\Programs\\Python\\Python310\\python310.zip',
'C:\\Users\\evgen\\AppData\\Local\\Programs\\Python\\Python310\\DLLs',
'C:\\Users\\evgen\\AppData\\Local\\Programs\\Python\\Python310\\lib',
'C:\\Users\\evgen\\AppData\\Local\\Programs\\Python\\Python310',
'C:\\Timofey\\patterson-project\\venv',
'C:\\Timofey\\patterson-project\\venv\\lib\\site-packages',
'C:\\Program Files\\JetBrains\\PyCharm '
'2021.2.3\\plugins\\python\\helpers\\pycharm_matplotlib_backend']
Server time: Sat, 26 Feb 2022 10:42:17 +0000
Traceback Switch to copy-and-paste view
C:\Timofey\patterson-project\venv\lib\site-packages\django\core\handlers\exception.py, line 47, in inner
response = get_response(request) …
Local vars
C:\Timofey\patterson-project\venv\lib\site-packages\django\core\handlers\base.py, line 181, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs) …
Local vars
C:\Timofey\patterson-project\venv\lib\site-packages\django\contrib\auth\decorators.py, line 21, in _wrapped_view
return view_func(request, *args, **kwargs) …
Local vars
C:\Timofey\patterson-project\profiles\views.py, line 18, in сhange_profile
form.save() …
Local vars
C:\Timofey\patterson-project\venv\lib\site-packages\django\forms\models.py, line 458, in save
raise ValueError(
