• Как получить определенное значение из словаря в шаблоне django?

    @javedimka
    Хочу сока
    Чтобы узнать как правильно вытащить значения, надо сначала узнать почему они вообще приходят в таком неудобном виде, а если возможности узнать и исправить нету - преобразовать в более удобный вид, например во вложенные списки:
    def table_view(request):
        data = {'2A':
                ['Name', 'State',
                 'Name2', 'State2',
                 'Name3', 'State3',
                 'Name4', 'State4',
                 'Name5', 'State5']
                }
        data['2A'] = [data['2A'][i:i+2] for i in range(0, len(data['2A']), 2)]
        return render(request, 'app/template.html', {'students_data': data})


    И тогда в шаблоне:
    {% for student in data %}
    <tr>
        <input type="hidden" name="stud" value="{{ student.0 }}" />
        <td>{{student.0 }}</td>
        <input type="hidden" name="state" value="" class="state"/>
        <td id="editable">{{ student.1 }}</td>
    </tr>
    {% endfor %}

    или как вариант - использовать namedtuple, но что там по скорости будет не знаю.
    Ответ написан
    7 комментариев