【发布时间】:2016-06-09 13:08:04
【问题描述】:
我正在视图中创建一个列表以显示加载的 csv 文件 (def showCsv(request)) 中的元素。我想得到这个列表并将这个列表放入url重定向(第一个链接'a'),但我不知道该怎么做。
def showCsv(request):
if request.POST:
object_pk = request.POST.get('pk')
csvname = request.FILES['f']
path = default_storage.save('media/csv', ContentFile(csvname.read()))
tmp_file = os.path.join('', path)
csvname = open(tmp_file, 'rb')
reader = csv.reader(codecs.iterdecode(csvname, 'utf-8'), delimiter=";")
list_test = []
for row in reader:
list_test.append((row))
return render(request, 'website/show_csv.html',
{ 'app_version':APP_VERSION, 'object_pk':object_pk, 'list': list_test})
show_csv.html
{% block content %}
<div class="menu">
<ul class="blockchoixcontinuer">
<a href="{% url 'website:impression_publipostage' object_pk list %}"> Continuer </a>
</ul>
<ul class="blockchoixretour">
<a href="{% url 'website:addcsv' object_pk %}"> Retour </a>
</ul>
</div>
<div class="container" id="container">
<div class="row">
<table class="table table-striped col-md-12">
<tbody>
{% for row in list %}
<tr>
<td>{{ row.0 }}</td>
<td>{{ row.1 }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
{% endblock %}
【问题讨论】:
-
您不能将该 CSV 存储在模型中吗?如果是,你可以写一个
view来显示这个列表和一个引用pk。 -
我无法使用模型,因为我没有存储 csv 的元素,因为当用户登录我的网站时,csv 只是在媒体上“临时加载”。
-
你显然想用这个列表和 URL 做什么?
-
例如,它们是我的 csv 中的元素:[['NumeroProduit', 'NumeroSerie'], ['SUPP-MC67-01110', '20160428'], ['PACE-MK25-03265 ', '10035701']],我想在另一个视图上保存或转移此列表,以使用元素编写模板并打印它们。我选择 url 因为我可以获得列表(比如 get_object() for pk)
-
好的,
pk指的是什么?
标签: python django csv django-1.9