Каков правильный способ использования метода get_context_data() в Django для добавления пар ключ-значение в контекст?

Как можно использовать метод get_context_data() в Django для добавления новых пар ключ-значение в контекст в файле views.py? Я следую инструкциям, и до сих пор все работало хорошо, однако на данный момент я не могу получить добавленные контекстные записи для заполнения html-шаблона. Вот что у меня получилось на данный момент, основываясь на инструкциях в руководстве:

views.py:

from django.shortcuts import render
from django.views.generic import TemplateView   

# Create your views here.
def home_page_view(request):
    context = {    
        "inventory_list": ["Widget 1", "Widget 2", "Widget 3"],
        "greeting": "THanK yOu foR viSitiNG!",
    }
    return render(request, "home.html", context)

class AboutPageView(TemplateView):   
    template_name = "about.html"

def get_context_data(self, **kwargs):    # new
    context = super().get_context_data(**kwargs)
    context["contact_address"] = "123 Jones Street"
    context["phone_number"] = "01234 678910"
    return context

about.html (шаблон):

<h1>Company About Page</h1>
<p>The company address is {{contact_address}}.</p>
<p>The company phone number is {{phone_number}}.</p>

urls.py:

from django.urls import path
from .views import home_page_view, AboutPageView  

urlpatterns = [
    path("about/", AboutPageView.as_view()),   
    path("", home_page_view)
]

Это приводит к выводу, который не переносит значения, связанные с contact_address и phone_number, на веб-сайт, когда я запускаю сервер разработки:

output given by above code

Что я делаю не так? Я несколько раз перепроверил пример кода и не вижу, чтобы я вводил какие-либо ошибки. Я также искал решения в Интернете, но многие ответы, похоже, относятся к сценариям, которые немного превосходят мое понимание на начальном уровне. Я работаю с Django всего неделю, поэтому готов признать, что, возможно, упускаю что-то совершенно элементарное.

Я запускаю Django 5.0.13 с Python 3.12.1 на Windows 11.

Заранее благодарю.

Теперь я решил эту проблему - проблема связана с тем, что метод get_context_data() не включен как часть класса About Page View. Проблема была связана с форматированием учебных материалов, из-за чего было трудно читать отступы.

Моды: учитывая природу ошибки, пожалуйста, дайте мне знать, заслуживает ли этот вопрос удаления, поскольку он имеет ограниченное значение для сообщества.

Вот правильная версия кода

class AboutPageView(TemplateView):
    template_name = "about.html"
    
    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context["contact_address"] = "123 Jones Street"
        context["phone_number"] = "01234 678910"
        return context
Вернуться на верх