loader777
@loader777
Python/django разработчик

Как сменить путь на шаблон в представлении Django?

Подскажите есть ли возможность сменить путь к шаблону в представлении на основании каких-нибудь данных?

Например, берем простое представление:
class CompanyDetail(DetailView):
    model = Company
    template_name = 'company/detail.html'

Из урла получаем 'pk' компании и делаем что-то вроде этого:
temp = Company.objects.get(pk=int(kwargs['pk']))
if temp.template_change:
   template_name = 'company/detail2.html'

Так не хочет работать. Пытался засунуть в get_queryset и get_context_data тоже не вышло.
  • Вопрос задан
  • 2342 просмотра
Решения вопроса 1
mututunus
@mututunus
Backend developer (Python, Golang)
class CompanyDetail(DetailView):
    ...
    def get_template_names(self):
        temp = Company.objects.get(pk=int(self.kwargs['pk']))
        if temp.template_change:
            return 'company/detail2.html'
        else:
            return self.template_name
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы