вот решение, которое я понял из вашего вопроса
Прежде всего создайте кнопку просмотра, чтобы пользователь мог принимать CSV-файл в качестве входных данных, а затем сохранить его временно в папке static/upload
приложений. Затем передайте путь этого файла в нашу функцию хранилища данных, представленную в views.py
.
forms.py
from django import forms
class browse(forms.Form):
file = forms.FileField()
views.py
import csv
import mysql.connector
from mysql.connector import Error
from mysql.connector import errorcode
def index(request):
result = None
form = None
if request.method == 'POST':
form = browse(request.POST, request.FILES)
if form.is_valid():
handle_uploaded_file(request.FILES['file']) # store file in upload folder
path = "static/upload/"+ str(request.FILES['file'])#path of selected file
with open(path,'rt')as f:
data = csv.reader(f)
for row in data:
storedata(row)
else:
pass
def storedata(row):
connection = mysql.connector.connect(host='localhost',
database='electronics',
user='root',
password='root')
mySql_insert_query = """INSERT INTO Laptop (name, fname, lname)
VALUES
(row[0], row[1], row[2]) """
cursor = connection.cursor()
cursor.execute(mySql_insert_query)
connection.commit()
print(cursor.rowcount, "Record inserted successfully into Laptop table")
cursor.close()
models.py
from django.db import models
def handle_uploaded_file(f):
with open('static/upload/'+f.name, 'wb+') as destination:
for chunk in f.chunks():
destination.write(chunk)