djangoのアップロードされたcsvファイルの最初の列をリストに変換しようとすると問題が発生します。アップロードされたcsvファイルをDjangoのリストに変換する
with open("export.csv") as f:
my_list = [row["BASE_NAME"] for row in DictReader(f)]
しかしdjango
を使用してユーザー・インタフェースを開発する際、私は上記のような必要なmy_list
を持っていないよ、私は間違って何をやっている:もともと、私のコードは、ジャンゴを使用せずに、このようなものでしたか?
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)
# FileUpload form class.
class UploadForm(ModelForm):
class Meta:
model = Upload
fields = '__all__'
は私が助けに感謝:ここに私のmodel.pyここに私の
view.py:
def handle_csv_data(csv_file):
logging.warning('Watch out!') # will print a message to the console
#print(csv_file)
# with open(csv_file) as f:
# my_list = [row["BASE_NAME"] for row in DictReader(f)]
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!') # will print a message to the console
# paramFile = request.FILES['pic']
paramFile =TextIOWrapper(request.FILES['pic'].file).read()
portfolio1 = csv.DictReader(paramFile)
# portfolio = csv.DictReader(request.FILES['pic'].file)
# csv_file = request.FILES['pic'].file
# with open(default_storage.path('images/' + "500 clusters.csv"), 'wb+') as destination:
# for chunk in csv_file.chunks():
# destination.write(chunk)
# ifile = open("500 clusters.csv", "r")
# data = [row for row in DictReader(csv_file.read().splitlines())]
# print(users)
# paramFile = csv_file.read()
# portfolio1 = csv.DictReader(paramFile)
#ifile = open('sample.csv', "r")
#read = csv.reader(ifile)
#for row in read:
# print(row)
#data = [row for row in DictReader(csv_file.read().splitlines())]
# for row in portfolio:
# my_list = [row["BASE_NAME"]]
#print(my_list)
portfolio= handle_csv_data(portfolio1)
print(portfolio)
# my_list = portfolio
# return HttpResponseRedirect(reverse('portfolio'))
return render(request, 'home.html', {'portfolio': portfolio})
else:
img=UploadForm()
images=Upload.objects.all()
return render(request,'home.html',{'form':img,'images':images})
されている
:私はあなたがコメントしたコードで見ることができる多くの方法を試してみました。