Django 5 для начинающих

Прогресс по курсу:  9/1004

4.2 CRUD проект
4 из 12 шагов пройдено
0 из 60 баллов  получено

Задача 6

Задание:

Напишите функцию-представление, для приложения main_app, с именем edit_profile, которая будет принимать параметр id и изменять запись модели User с этим id.


Если запись с этим id существует и метод запроса POST:

Необходимо принять параметры name, age, phone, email HTTP-запроса методом POST и изменить эту запись.

После сохранения записи необходимо выполнить временный редирект в директорию профиля пользователя /user_profile/ (имя маршрута 'user_profile').


Если запись с этим id существует и метод запроса не POST:

Необходимо вернуть содержимое шаблона edit_profile.html, предварительно получив в переменную profile_data эту запись из модели User и передать её в шаблон.


Если запись не существует:

Необходимо вернуть сообщение о ошибке 404 с текстом <h2>User profile with id=принятый_id not found</h2>.


P.S. На экран ничего не нужно выводить, модель User необходимо импортировать из приложения main_app, код модели:

class User(models.Model):
    name = models.CharField(max_length=50)
    age = models.IntegerField(default=18)
    phone = models.CharField(max_length=20)
    email = models.CharField(max_length=50)
Чтобы решить это задание откройте https://stepik.org/lesson/1146718/step/11

Напишите программу. Тестируется через stdin → stdout

Верно решили 45 учащихся
Из всех попыток 25% верных
Time Limit: 30 секунд
Memory Limit: 256 MB
Максимум 10 баллов за решение.

Будьте вежливы и соблюдайте наши принципы сообщества. Пожалуйста, не оставляйте решения и подсказки в комментариях, для этого есть отдельный форум.
Оставить комментарий

в чем ошибка, подскажите пожалуйста

[del code]

Изменен Дмитрий Селезнев

@Шамбер_Егор, имя полученного объекта profile_data, значит и атрибуты нужно у него менять, а не у user. И в контекст нужно передавать переменную profile_data, а не profile.

Лучше так исправить:

[del code]
Изменен Дмитрий Селезнев

@Дмитрий_Селезнев, спасибо, я прост по многу занимаюсь и каждую теорию стараюсь до мельчайших деталей разобрать, а это была последняя задача и мозг уже поплыл чутка, вот и не заметил, что поменял имя экземпляра в начале, а в условии не поменял, спасибо!