Задать вопрос
desperadik
@desperadik
Истина где-то рядом.

Как быть C или В views.py?

Добрый день!
Опять трабла.
class NewsPageView(ListView):
    model = News
    # template_name =news.html
    def get_template_names(self, **kwargs):
        qs = Model.objects.filter(site=self.request.site)
        for data in qs:
            if data.template_site == '1':
                return 'news1.html'
            else:
                return 'news.html'

    def get_queryset(self, **kwargs):
        return News.objects.on_site(site=self.request.site)
    def get(self, request, *args, **kwargs):
        result = News.objects.on_site(site=self.request.site)
        if request.GET:
            query = request.GET.get("q")
            result = result.filter(Q(title__icontains=query)|Q(short_text__icontains=query)|Q(text__icontains=query))
        return render(request, self.template_name, {'news': result})


Мне нужно менять шаблон в зависимости от юзера. НО в конце кода весит template_name, который говорит что шаблон не найден. Хотя если его убрать(template_name, вместе в функ), то работает норм. Но это часть кода обязательно нужна, к сожалению его писал намного опытнее меня человек.
  • Вопрос задан
  • 2504 просмотра
Подписаться 3 Оценить Комментировать
Решения вопроса 1
desperadik
@desperadik Автор вопроса
Истина где-то рядом.
return render(request, self.get_template_names(*args), {'news': result})
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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