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

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

2.6 Шаблоны, часть 1.
5 из 13 шагов пройдено
0 из 36 баллов  получено

Задача 5

Задание:

Напишите функцию-представление с именем profile, которая будет возвращать содержимое шаблона profile.html.

Словарь {'name': 'Дмитрий', 'age': 39, 'phone': '+79123456789', 'email': 'dmitry@email.com'} необходимо передать в шаблон в виде переменной profile_data.


P.S. На экран ничего не нужно выводить.

Чтобы решить это задание откройте https://stepik.org/lesson/1146705/step/12

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

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

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

Непонятная формулировка, ес честно.

Может лучше так? "Напишите функцию-представление с именем profile, которая будет возвращать содержимое шаблона profile.html, предварительно передав в него содержимое контекста, содержащее поле profile_data  со значением {'name': 'Дмитрий', 'age': 39, 'phone': '+79123456789', 'email': 'dmitry@email.com'}."

Хотя не уверен.

@Сергей_Королев, спасибо за замечание, переделал условие.

@Сергей_Королев, спасибо, благодаря Вашей формулировке решил задачу!

Изменен Александр Ёлшин

В чем я не прав:

[del code]

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

@Максим_Ананьев, profile_data это имя переменной которая должна быть передана в шаблон, то есть она будет ключом, а словарь будет её значением.

@Дмитрий_Селезнев, благодарю.

Максимально не понятно, что от тебя хотят...

Error: AssertionError: Test 1, profile(request, ): Request method: GET Query string: ''

---------------------------------------------

Error: wrong response content:

- Имя: Дмитрий

+ Имя:

- Возраст: 39

? ---

+ Возраст:

- Телефон: +79123456789

+ Телефон:

-E-Mail: dmitry@email.com

+ E-Mail:

@Nikolay_Novozhenin, в условии сказано, что необходимо передать словарь в виде переменной profile_data, а так-как переменные передаются в виде словаря контекста, то profile_data будет ключём, а словарь с данными значением этого ключа.

А вывод ошибки используется стандартный, тестового метода сравнения HTML(assertHTMLEqual), + это то что выводит ваше представление, - это с чем сравнивается.

@Дмитрий_Селезнев, опять же максимально не понятно, как переменная может быть ключом в словаре словаря???

@Nikolay_Novozhenin, а как иначе передать её имя? Тут же очень просто {'имя переменной':{ ...}}.

Разобрался, я вспомнил этот "Полезный метод", я забыл его, так как его не советуют применять, так как можно словарь в переменную, а потом в render

@Дмитрий_Селезнев, повторюсь, не рациональный подход

@Nikolay_Novozhenin, тут как угодно можно решить, главное чтоб в шаблон передалась переменная, значением которой будет словарь.

В данной задаче используется такой шаблон:

<h2>Профиль пользователя</h2>
<ul>
    <li>Имя: {{ profile_data.name }}</li>
    <li>Возраст: {{ profile_data.age }}</li>
    <li>Телефон: {{ profile_data.phone }}</li>
    <li>E-Mail: {{ profile_data.email }}</li>
</ul>