python - 如何在 HTML 页面中显示 CSV 文件的所有数据?
问题描述
我在 django 中有一个读取 csv 文件并将其数据存储在数据库中的代码,我打算在 HTML 页面中显示该数据,这是我的观点:
def addbulkuser(request):
prompt = {
'order': 'Order of the file should be: Username, First name, Last name, Email & Password'
}
if request.method == "GET":
return render(request, 'andon/user_form_bulk.html', prompt)
data_file = request.FILES['file']
if not data_file.name.endswith('.csv'):
messages.error(request, 'This is not a csv file')
if data_file.name.endswith('.csv'):
data_set = data_file.read().decode('UTF-8')
io_string = io.StringIO(data_set)
next(io_string)
for column in csv.reader(io_string, delimiter=',', quotechar="|"):
created = User.objects.update_or_create(
username=column[0],
first_name=column[1],
last_name=column[2],
email=column[3],
password=column[4],
last_login=datetime.now(),
)
user = User.objects.get(username=column[0])
user.set_password(user.password)
user.save()
andon_user_group = Group.objects.get(name='andon_user')
andon_user_group.user_set.add(user)
col = column
colu = messages.success(request, 'Users added successfully')
context = {'col': col,
'colu': colu
}
return render(request, 'andon/user_form_bulk.html', context)
return render(request, 'andon/user_form_bulk.html')
变量“col”包含 csv 文件中的所有数据,我在 HTML 中以这种方式调用它:
{% for column in col %}
{{ column }}
{% endfor %}
但它只在 html 中显示 CSV 文件中的最后一个数据,我怎么能显示所有数据?
问候。
解决方案
您的代码当前仅将 CSV 文件中的最后一个数据保存到变量中col
,因此这是在上下文中传递的唯一数据。
如果您想显示所有数据,您可能正在考虑创建一个列表列表,其中每个列表将包含个人的数据。
例如,这是可以合并到程序中的方法之一。
listoflists = []
for column in csv.reader(io_string, delimiter=',', quotechar="|"):
sublist = []
for j in range(0,6)
sublist.append(column[j])
listoflists.append(sublist)
context = {'col': listoflists,
'colu': colu
}
return render(request, 'andon/user_form_bulk.html', context)
在模板中,您可以像访问它
{% for values in col %}
{% for value in values %}
The value is {{value}}
{% endfor %}
{% endfor %}
推荐阅读
- c# - 导入 AudioClip 期间出现未指定的错误
- arrays - 在 Swiftui 中,我有一个 @Published 数组。我在数组上使用 .filter 但收到成员元素不存在的错误
- sendgrid - Updating SendGrid contact custom fields via SendGrid API. Why isn't this working?
- mongodb - 支持将字节类型表示为十六进制字符串的 GRPC 测试客户端 GUI?
- testing - 执行赛普拉斯测试时出现 ReferenceError 'process not defined'
- php - 当前刀片文件的显示名称
- android - 为 Android 运行 React-Native 应用程序时构建失败,@react-native-async-storage:extractReleaseAnnotations
- excel - 如何用Excel公式将单个单元格的几个括号数字相加?
- node.js - 如何使用 connect mongo 在请求之外更新快速会话?
- excel - Excel-VBA - 将 Excel 范围数据写入 Word 表并进行计算