Я пытаюсь прочитать CVS файл в Django

  1. I'm new to Django trying to read data from CSV file and display data in form of a table using Django templates. Please help me with how I can do it.

Мой файл views.py

from fileinput import filename
from django.shortcuts import render
from django.http import HttpResponse
from django.template import loader

def my_view(request):

    response = HttpResponse(
        content_type = 'text/csv',
        headers = {'Content-Disposition': 'attachment; filename="birthdeath.csv"'},
    )

    t = loader.get_template('template.txt')
    c = {'data': filename}
    response.readable(t.render(c))

    return response

Мои шаблоны.txt

{% for row in data %}

"{{ row.0|addslashes }}", "{{ row.1|addslashes }}",
"{{ row.2|addslashes }}", "{{ row.3|addslashes }}",
"{{ row.4|addslashes }}"

{% endfor %}

views.py:

def CSV_read(request):
    import csv
    data = []
    with open("Data.csv", 'r', encoding='mac_roman', newline='') as f:  # Read lines separately
        reader = csv.reader(f, delimiter='t')
        for i, line in enumerate(reader):
            data.append(line)
            print(i, line)

    return render(request, "csv.html",{"df":data})

urls.py:

...
path("csv/", CSV_read, name="csv")
...

csv.html:

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
adadad<br>
{% for i in df %}

{{i}}

{% endfor %}
<br>

</body>
</html>
Вернуться на верх