Изменение способа отображения возвращаемого результата в Django - PullRequest
2 голосов
/ 08 ноября 2011

Я недавно начал изучать 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 / loopили другие ошибки.(Пытался сравнить его с двумя кортежами)

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

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

Ответы [ 2 ]

0 голосов
/ 08 ноября 2011

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

ctx = {'символ': символ, 'информация': информация, 'класс': 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}}

0 голосов
/ 08 ноября 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...