метод get_context_data Django - PullRequest
       0

метод get_context_data Django

1 голос
/ 10 февраля 2020
# views.py
from django.views.generic import ListView
from books.models import Publisher

class PublisherList(ListView):
    model = Publisher
    context_object_name = 'my_favorite_publishers'

def get_context_data(self, **kwargs):
    context = super().get_context_data(**kwargs)
    context['number'] = random.randrange(1, 100)
    return context

Что возвращает вызов get_context_data с super ()?

Какого типа информация?

И является ли возвращенный контекст из get_context_data заданным contextxT_object_name 'my_favorite_publishers'?

Ответы [ 2 ]

1 голос
/ 10 февраля 2020

Метод .get_context_data(..) [Django -doc] возвращает словарь, содержащий контекст, который будет передан в шаблон для рендеринга.

A ListView [Django -doc] по умолчанию создаст словарь со следующими ключами и значениями:

  • 'view': соответствует экземпляру этого представления;
  • 'paginator': объект нумерации страниц, если вы разбиваете на страницы, None в противном случае;
  • 'page_obj': объект страницы текущей страницы, если вы разбиваете на страницы, None в противном случае;
  • 'is_paginated': True, если вы разбиваете на страницы, False в противном случае ;
  • 'object_list': (необязательно) разбитый на страницы набор запросов, который создается ListView; и
  • context_object_name: если вы указали context_object_name (или вы перезаписали get_context_object_name, и он не возвращает None, он будет ассоциироваться с (необязательно) нумерованный набор запросов.
0 голосов
/ 16 апреля 2020
       class EmployeeDetailView(DetailView):
             queryset=Employee.objects.all()
             template_name='testapp/detail.html'
             def get_context_data(self,**kwargs): 
                 context=super().get_context_data(**kwargs)
                 return context

В вышеприведенном примере класс EmployeeDetailView ищет объект (контекст по умолчанию для DetailView), этот объект предоставляется путем вызова метода, присутствующего в родительском классе, то есть get_context_data, этот метод принимает kwargs в качестве параметра.

kwargs - список аргументов переменной длины. Функция get_context_data возвращает контекст, содержащий объект, и этот объект будет отправлен в подробности. html файл, чтобы отобразить данные, которые хранятся в текущих объектах (процесс рендеринга)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...