Итак, у меня недостаточно репутации, чтобы комментировать. Поэтому я сделал несколько предположений и несколько замечаний.
Предположения: Я предполагаю, что вы хотите сделать, это обработать загруженный файл и вернуть сообщение, комментирующее каждую строку, будь тоуже существовал или был создан. Вы хотите вернуть 1 страницу, содержащую все это содержимое, поэтому оно не является динамическим ..
Замечания: Я не понимаю, почему вы вызываете функцию рендеринга, но не возвращаете ее. Кроме того, вы перезаписываете свой c2 с каждой итерацией.
Исходя из того, что я предполагаю, что вы хотите сделать, я предлагаю следующий код:
views.py
def bulkinsert(request):
data=None
context=None
if request.method== "POST" and request.FILES['myfile']:
myfile = request.FILES['myfile']
df=pd.read_csv(myfile )
data_html=df.to_html()
context={'data': data_html }
memos= []
# now read each row and insert lot, sublot, ...
for index, row in df.iterrows():
if pd.notna(row['lot']):
lotname=row['lot']
...
# check existence of this lot
f1=Lot.objects.filter(lotname=lotname).count()
if f1==0:
message = '\n Lot did not exist yet, inserting ...'
b1=Lot(lotname=lotname)
b1.save()
else:
message = f'\n Lot {lotname} already exists'
... memos.append(message)
context['memos'] = memos
return render(request, 'lenses/base.html',context)
else:
form=UploadFileForm()
data=None
context=None
return render(request, 'bulkinsert.html',context)
Теперь вам нужно будет повторить свои заметки. Так что также настройте ваш base.html
{% block c2 %}
{% for memo in memos %}
<p>{{ memo }}</p>
{% endfor %}
{% endblock %}