import csv from django.http import HttpResponse, HttpResponseForbidden from .models import BannerOrder, Token def banner_orders_csv(request): response = HttpResponse(content_type="text/csv;charset=utf-8") tokens = Token.objects.filter( bearer=request.GET.get("token"), scope="banner-orders" ) if not tokens: return HttpResponseForbidden() w = csv.writer(response) w.writerow( [ "ID", "Plachta", "Jméno", "Příjmení", "Bydliště", "Narozen", "Telefon", "Mail", "Poznámka", ] ) for row in BannerOrder.objects.order_by("id").all(): w.writerow( [ str(row.id), row.code, row.name, row.surname, row.residency, str(row.date_of_birth), row.phone, row.email, row.note, ] ) return response