Джанго просмотр, если заявление

у меня есть поле выбора. Я хочу в views.py вот так; Как я могу сделать?

if gametype == 1: 
    template='xxx.html'

if gametype == 2:
    template='xxx1.html'

просмотры.py

def game_detail(request,tournamentslug,slug,gameslug):
    game=get_object_or_404(Model,tournament__slug=tournamentslug,slug=slug,game__slug=gameslug)

    context = {
        'game':game,
    }

    return render(request,'esports/lolgame.html',context)

модели.py

class Model(models.Model):
    type_tvt = 1
    type_pvp = 2
    type_royale=3
    types = (
        (type_tvt, 'T'),
        (type_pvp, 'P'),
        (type_royale,'R'),
    )
    gametype=models.SmallIntegerField(choices=types)

Похоже, ваш пост в основном код; пожалуйста, добавьте некоторые подробности.

A. J. Parr 17.07.2019 09:18

Проблема решена

Enes 17.07.2019 09:37
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
2
358
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Предполагая, что у вас есть подробное представление на основе классов (и модель названа Game для здравомыслия, а не Model, как в вашем примере),

class GameView(generic.DetailView):
    model = Game

    def get_template_names(self):
        if self.object.gametype == Game.type_tvt:
            return ['xxx.html']
        elif self.object.gametype == Game.type_pvp:
            return ['xxx2.html']
        elif self.object.gametype == Game.type_royale:
            return ['xxx3.html']
        raise ValueError('invalid game type')

справится с задачей — или упростить использование диктофона,

class GameView(generic.DetailView):
    model = Game
    template_names = {
         Game.type_tvt: 'xxx.html',
         Game.type_pvp: 'xxx2.html',
         Game.type_royale: 'xxx3.html',
    }

    def get_template_names(self):
        return [self.template_names[self.object.gametype]]  # may raise KeyError

Обновлено: для функционального представления, как в отредактированном вопросе,

template_names = {
    Model.type_tvt: "xxx.html",
    Model.type_pvp: "xxx2.html",
    Model.type_royale: "xxx3.html",
}


def game_detail(request, tournamentslug, slug, gameslug):
    game = get_object_or_404(
        Model,
        tournament__slug=tournamentslug,
        slug=slug,
        game__slug=gameslug,
    )

    context = {"game": game}
    template_name = template_names[game.gametype]
    return render(request, template_name, context)

представление на основе функции def game_detail (запрос, турниры, слаг, игры): game = get_object_or_404 (модель, турнир__ slug = турниры, slug = слаг, game__ slu, g = gameslug)

Enes 17.07.2019 08:42

Пожалуйста, добавьте свой текущий код просмотра в свой вопрос, а не в комментарий.

AKX 17.07.2019 08:43

Добавлен пример FBV. :)

AKX 17.07.2019 08:47

Другие вопросы по теме

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

Перенаправлять пользователей на их отдельные страницы при входе в систему
Django устанавливает файл cookie с использованием промежуточного программного обеспечения при загрузке первой страницы
Как перенаправить на страницу входа для пользователей, которые не вошли в систему, когда они хотят опубликовать
Не удается получить набор запросов для возврата списка объектов, которые нисходят по совпадениям тегов
Изображение Matplotlib не отображается в шаблоне Django
Как правильно установить django-import-export
Фильтровать набор запросов в Django на основе совокупности одного из его полей для внешнего ключа?
Django rest-framework Social Oauth2: как установить классы разрешений для представления или метода
Упорядочивание набора запросов по свойству связанной модели с другим свойством, равным чему-либо
Django Как фильтровать и сортировать набор запросов по связанной модели