I am having a problem when I try to convert the first column of a loaded CSV file in django to a list. My code was originally like this without using django:
with open("export.csv") as f:
my_list = [row["BASE_NAME"] for row in DictReader(f)]
But when developing a user interface using djangoI donβt have what is required my_list, as stated above, what am I doing wrong? I tried many methods that you can see in the comments:
Here is my view.py:
def handle_csv_data(csv_file):
logging.warning('Watch out!')
users = []
for row in csv_file:
users.append(row)
return (users)
def home(request):
if request.method=="POST":
img = UploadForm(request.POST, request.FILES)
if img.is_valid():
logging.warning('Watch out!')
paramFile =TextIOWrapper(request.FILES['pic'].file).read()
portfolio1 = csv.DictReader(paramFile)
portfolio= handle_csv_data(portfolio1)
print(portfolio)
return render(request, 'home.html', {'portfolio': portfolio})
else:
img=UploadForm()
images=Upload.objects.all()
return render(request,'home.html',{'form':img,'images':images})
Here is my model.py:
from django.db import models
from django.forms import ModelForm
class Upload(models.Model):
pic = models.FileField("pic", upload_to="images/")
upload_date=models.DateTimeField(auto_now_add =True)
class UploadForm(ModelForm):
class Meta:
model = Upload
fields = '__all__'
I appreciate the help.
source
share