Как экспортировать данные из front Web в CSV файлы с помощью jquery?
Я практикую Python+Django отредактированный Web, следуя примеру, пытаюсь экспортировать данные из базы данных в front Web и хочу загрузить CSV файл. Вот вся моя функция. Она загружает файл, но показывает заголовок и не выводит никаких данных
Спасибо всем.
Виды: функция поиска по сайту
def search_by_sid(request,pk=1):
sdepartments = Department.objects.all()
cdepartments = CDepartment.objects.all()
ssid = CourseData.objects.all()
if request.method == "POST":
sid = request.POST.get("sid").strip()
if "," in sid:
course = CourseData.objects.filter(sid="NA")
sids = sid.split(",")
for n in sids:
courses = CourseData.objects.filter(sid = n.strip())
course =course | courses
else:
course = CourseData.objects.filter(sid=sid).order_by("teacher")
num = len(course)
return render(request, "list.html")
return redirect("/")
функция загрузки файла:
def down_file(request):
sdepartments = Department.objects.all()
cdepartments = CDepartment.objects.all()
ssid = CourseData.objects.all()
if request.method == "POST":
sid = request.POST.get("sid")
dfs = CourseData.objects.filter(sid__in=['sid']).values_list("sid","name","phone","email","sdept")
response = HttpResponse(content_type="text/csv")
response.write(codecs.BOM_UTF8)
response['Content-Disposition'] = 'attachment; filename = "Report.csv"'
writer = csv.writer(response)
print(writer)
writer.writerow(["sid","name","phone","email","sdept"])
for sop in dfs:
writer.writerow(sop)
return response
Шаблоны: функция кнопки
<form id="sid" action="/bysid/" method="post">
{% csrf_token %}
Search:<input name="sid" size="50" placeholder="Search">
<input type="submit" value="Go Search">
<input id="btnType" type="hidden" value="Search">
<button type="button" id="down_file" >Download Files</button>
</form>
js funtion:
$(document).ready(function(){
$("#down_file").click(function(){
$("#btnType").val('accpeted'); <!--Why Null ?!-->
$("#sid").submit();
});
});