TemplateView и get_context_data
Отображайте шаблон и аккуратно добавляйте контекст
«TemplateView и get_context_data» — бесплатный урок Django Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Django Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Django Academy содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Meet TemplateView
TemplateView is a generic CBV whose only job is to render a template. It is the simplest class-based view you will use.
Set template_name
You tell TemplateView which file to render with the template_name attribute. No get method needed for a plain page.
class AboutView(TemplateView):
template_name = "about.html"Wire It Into urls
Add it to urls with as_view(), just like any CBV. That one line gives you a fully working page.
path("about/", AboutView.as_view())Passing Data to Templates
A static page is fine, but usually you need context: data your template can display. CBVs provide a clean hook for that.
Override get_context_data
The get_context_data method builds the dictionary passed to your template. Override it to add your own values.
Always Call super() First
Start by calling super() to get the default context, then add to it. Skipping this can drop data Django expects.
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
return contextAdd Your Own Keys
After super(), insert any keys you need into the context dict. The template reads them by name.
context["year"] = 2024
return contextTemplates Read Context Keys
In the template, reference a context key with double braces. Whatever you put under year appears where you write it.
kwargs Carries URL Data
The kwargs argument holds values captured from the URL, like an id. You can read them while building context.
Less Boilerplate Than Functions
Compared to a function view, TemplateView removes the repetitive render call. You declare the template once and add only the data.
A Common First CBV
TemplateView plus get_context_data is the pattern you will reach for whenever a page needs a template and a bit of dynamic data.
Quick Check
Which method do you override to add data for a TemplateView?
Recap: TemplateView
You learned TemplateView: set template_name to render a page, and override get_context_data, calling super first, to pass data along. ✨
Часто задаваемые вопросы
Урок «TemplateView и get_context_data» бесплатный?
Да — полный текст урока «TemplateView и get_context_data» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Django Academy, подпишись на CoddyKit PRO. Курс Django Academy содержит 4 уроков всего.
Чему я научусь в уроке «TemplateView и get_context_data»?
Отображайте шаблон и аккуратно добавляйте контекст Ты практикуешь Django Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Django Academy?
Предыдущий опыт не требуется. Django Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «TemplateView и get_context_data»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Django Academy?
Да. Каждый урок Django Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- От функциональных представлений к классам представлений
- TemplateView и get_context_data
- Обработка методов get и post
- Миксины и as_view()