Это возможно.Представление отвечает за создание ответа на основе запроса и его возврат и может использовать любой подход, который имеет для этого смысл.Шаблон является одним из инструментов для этого, и ничто не мешает вам использовать данный шаблон в нескольких представлениях.Если вы используете функциональные представления, это может выглядеть примерно так:
def display_text(request):
context = ...
return render(request, "data.html", context)
def display_graph(request):
context = ... # some different context than the text case
return render(request, "data.html", context)
Детали могут различаться - дело просто в том, что ничто не связывает шаблон только с одним представлением.
Является ли это хорошей идеей или нет, зависит от того, какая часть поведения шаблона распределяется между вашими двумя делами.В общем, я бы вместо этого рекомендовал выделить отдельные части шаблона в родительский шаблон и использовать наследование шаблона , чтобы специализировать различное поведение, характерное для разных типов данных, без повторения общих частей.Даже если текущее поведение отображения одинаково, использование двух разных шаблонов облегчает изменение этого в будущем, если вы захотите.
Если один шаблон может действительно обрабатывать оба случая без необходимости определять, какие данныеtype, и вы не ожидаете его изменения, поэтому может быть разумным выбрать повторное использование одного шаблона в обоих представлениях, а не создавать специфичные для типа.