Я пытаюсь прочитать CVS файл в Django
- 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>