Загрузите CSV-файл в представлении Django и перейдите в таблицу HTML - PullRequest
0 голосов
/ 26 марта 2020

У меня есть этот код вида

def datatable(request, file):
    csv_fp = open(f'data/{file}.csv', 'r')
    reader = csv.DictReader(csv_fp)
    headers = [col for col in reader.fieldnames]
    out = [row for row in reader]
    return render(request, 'datatable.html', {'data' : out, 'headers' : headers})

и вот мой шаблон

<table id="table" class="display" style="width: 100%;">
  <thead>
    <tr>
      {% for header in headers%}
      <th>{{ header }}</th>
      {% endfor %}
    </tr>
  </thead>
  <tbody>
    <tr>
      {% for row in out%}
      <td>{{row}}</td>
      {% endfor %}
    </tr>
  </tbody>
</table>

Я пытаюсь превратить этот CSV в таблицу в моем шаблоне Django. Заголовки сделаны правильно, но строки выключены. Есть ли лучший способ прочитать строки, чтобы было проще go в тело?

1 Ответ

0 голосов
/ 26 марта 2020

Кажется, что ваша проблема {% для строки в out%}, вы передаете {'data': out}

Попробуйте:

<table id="table" class="display" style="width: 100%;">
  <thead>
    <tr>
      {% for header in headers %}
      <th>{{ header }}</th>
      {% endfor %}
    </tr>
  </thead>
  <tbody>
    <tr>
      {% for row in data %}
      <td>{{ row }}</td>
      {% endfor %}
    </tr>
  </tbody>
</table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...