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

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

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

Задача 3

Задание:

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

Строку 'Телефон: +79123456789, E-Mail: admin@email.com' необходимо передать в шаблон в виде переменной data.


P.S. Не забываем что переменные передаются в шаблон в виде словаря контекста, где ключами являются имена переменных.

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

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

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

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

старался поднять винрейт, решил с первого раза))
в 3 лекции про передачу в шаблон сложных данных очень похожий пример

Хорошо сформулировано задание (нет). Винрейт в 20% у данного не даст соврать

В общем. Потыкавшись как слепой котёнок, опытным путём выяснил, что требовалось сделать:

Кроме того, что в предыдущих занятиях, в функцию надо передать словарь состоящий из одного ключа-значения. Как обозвать ключ и что засунуть в значение - см. задание. Сам словарь можно вообще никак не называть, главное, чтобы он был в рендере третьим параметром

@Robert_Ford, Открою маленький секрет, мы это делали в этой лекции. Только там мы передавали несколько типов данных, а тут нужно лишь строку.

А по поводу процента правильных решений, он не совсем верно складывается. Один человек решил с первой попытки, другой человек решил с двадцатой попытки. И в среднем он будет около 5%.

Да я понял, в итоге разобрался же. Но немного пострадывая в процессе ) Собственно, так и должно быть, если слишком легко то и прогресса не будет

@Robert_Ford, немного подредактировал условие, стало более понятно или нет?

@Дмитрий_Селезнев, ага

Строку 'Телефон: +79123456789, E-Mail: admin@email.com' необходимо передать в шаблон в виде переменной data.

желательно заменить на ваше пояснение:

Контест всегда должен быть словарём - передайте в шаблон словарь с ключом data, а значением должна быть строка 'Телефон: +79123456789, E-Mail: admin@email.com'

@Garry_Veles, спасибо, добавил подсказку в задание.

У меня вопрос. Это очевидно в задании что ключем в переменной data тоже должен быть data?
Я если честно уже которых раз задание перечитываю, но у меня так и не сложилось понимание как фраза:
предварительно передав в него переменную data, содержащую строку 'Телефон: +79123456789, E-Mail: admin@email.com'
Связана с названием ключа))

@Василий_Шопин, это способ передачи переменных в шаблоны, когда имя переменной передаётся в виде ключа словаря контекста.

@Дмитрий_Селезнев, Спасибо за пояснение

Задание простое просто нужно подумать, думать вам придется всегда!

context всегда должен быть словарём, чтобы к нему можно было обращаться по ключу.

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

Failed. Runtime error Error: AssertionError: wrong response content: - Телефон: +79123456789, E-Mail: admin@email.com - </p>

@Никита_Федосов, Напишите функцию-представление с именем contacts, которая будет возвращать содержимое шаблона contacts.html, предварительно передав в него переменную data, содержащую строку Телефон: +79123456789, E-Mail: admin@email.com.

А вы пытаетесь словарь передать.

@Илья_Перминов, ?
Error: AssertionError: context must be a dict rather than str.

@Aleksandr_Yolshin, контест должен быть словарём - ключ data, а значение строка.

@Дмитрий_Селезнев, ЧТО??? Вообще че за задание? Вот адекватное решение

from django.shortcuts import render

def contacts(request):
    data = {"Телефон": "+79123456789",
            "E-Mail": "admin@email.com"
    }
    return render(request, "contacts.html", context=data)

А так я не понимаю, что требуется, то словарь, то строка, решитесь пж

@Nikolay_Novozhenin, вот код используемого шаблона в задании:

<h2>Контакты</h2>
<p>{{ data }}</p>

@Nikolay_Novozhenin, А с чего вообще вы взяли что требуется передать словарь?