Изменение способа отображения возвращаемого результата в Django

Недавно я начал изучать Python/Django в целом и в попытке ускорить процесс обучения и в то же время сделать что-то конструктивное, я начал свой личный проект.

У меня установлена ​​последняя версия Django/Python/Jinja2 вместе с яйцом Python Battle.net API. В настоящее время я запрашиваю "символ" и пытаюсь изменить вывод возвращаемого значения, вот функция из моих представлений:

def viewCharacter(request, name):
    character = get_object_or_404(Member, name=name)
    info = Character('EU', 'Auchindoun', name, fields=[Character.GUILD])

    ctx = { 'character': character, 'info': info, 'guildname': 'Guild Name' }
    return render_to_response("roster/viewCharacter.html", ctx, request)

Теперь, в моем шаблоне, я попытался "перевести" info.class_ (который возвращает числовое значение) из его числового значения в строку (имя класса), но я всегда получаю сообщения об ошибках о невозможности info.class_ использоваться в if/for заявлениях / циклах или других ошибках. (Пытался сравнить его с двумя кортежами)

Я действительно не могу найти способ сделать это онлайн, поэтому я приехал в одно место, которое помогло мне больше всего в моем процессе обучения.

Любая помощь будет наиболее ценится! - ниеру

2 ответа

Есть ли причина, по которой вы не можете добавить еще одну переменную в контекст следующим образом:

ctx = {'character': персонаж, 'info': информация, 'class': repr(info.class_), 'имя гильдии': 'Имя гильдии' }

РЕДАКТИРОВАТЬ: с дополнительной информацией, которую вы предоставили, вот мое новое предложение.

Изменить:

ctx = { 'name': name, 'character': character, 'info': info, 'class': repr(info.class_), 'guildname': 'Team-Potato' }

чтобы:

ctx = { 'name': name, 'character': character, 'info': info, 'className': classnameDict[info.class_], 'guildname': 'Team-Potato' }

Это просто делает класс в представлении. Теперь добавьте его в свой шаблон, используя

{{ className }}

Если вам действительно нужно использовать имя класса в шаблоне, попробуйте использовать этот шаблонный фильтр или просто получите его в представлении и передайте в контексте:)

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