Отправить список с помощью фреймворка django message - PullRequest
1 голос
/ 09 мая 2019

Короче говоря, я изо всех сил пытаюсь извлечь содержимое списка, которые были переданы в шаблон, используя структуру сообщений.

В общем: мое веб-приложение имеет возможность импорта транзакций, когда пользователь выбирает CSV, и я загружаю каждыйзапись в базу данных.Для неудачных записей я сохраняю их в виде списка, чтобы на следующей странице я мог отобразить, какие транзакции не были успешными.Каждая транзакция имеет несколько полей, поэтому, по сути, это список списков.

Просто я создаю список 'errorRecords', который затем зацикливаю и добавляю в структуру сообщений.

Данные попадают в шаблон просто отлично, но я изо всех сил пытаюсь использовать обычные операции со списками для правильного извлечения данных.

Посмотрели на похожий код, передающий dicts и json, но похожий подход, просто используя список, не делает.мне кажется, что это не работает.

Создание сообщения в представлении:

for item in errorRecords:
    messages.add_message(request, messages.WARNING, item)

Проблема возникает на этапе шаблона:

{% for message in messages %}
    <tr>
        <td>{{ message[0] }}</td>
        <td>{{ message[1] }}</td>
    </tr>
{% endfor %}

Чтовыдает следующую ошибку: django.template.exceptions.TemplateSyntaxError: Не удалось проанализировать остаток: '[0]' from 'message [0]'

Я также пытался message.message[0], который дает аналогичный результат(django.template.exceptions.TemplateSyntaxError: Не удалось проанализировать остаток: '[0]' from 'message.message [0]').

Я знаю, что данные есть, потому что, если я их использую...

{% for message in messages %}
    <tr>
         <td>{{ message.message }}</td>
    </tr>
{% endfor %}

... entirСписок отображается в первой ячейке строки таблицы, поэтому я озадачен, почему, если message.message является списком, то почему я не могу получить доступ к его элементам, используя message.message[0] и т. д.

Так что на самом деле,все, что я пытаюсь сделать, это извлечь каждый элемент списка (сообщение в сообщениях), затем извлечь поле каждого элемента и вставить в ячейку таблицы, чтобы я в итоге получил таблицу полей.

1 Ответ

0 голосов
/ 09 мая 2019

В шаблоне индекс списка выполняется с точечной нотацией , поэтому вместо

{{ message[0] }}

попробуйте сделать это

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