Compare commits
3 commits
master
...
export_sez
Author | SHA1 | Date | |
---|---|---|---|
![]() |
64bd360716 | ||
![]() |
350041c587 | ||
![]() |
3a8d5b2207 |
2 changed files with 41 additions and 0 deletions
|
@ -22,4 +22,9 @@ urlpatterns = [
|
|||
org_required(views.SeznamListView.as_view()),
|
||||
name='seznam-list'
|
||||
),
|
||||
path(
|
||||
'prednasky/seznam_export/<int:seznam>/',
|
||||
org_required(views.exportSeznamuPrednasekNeHodnoceni),
|
||||
name='seznam_export_csv'
|
||||
),
|
||||
]
|
||||
|
|
|
@ -114,4 +114,40 @@ def SeznamExportView(request, seznam):
|
|||
content_type="text/plain"
|
||||
)
|
||||
|
||||
def exportSeznamuPrednasekNeHodnoceni(req, seznam):
|
||||
# UGLY CODE. Jen byla potřeba pro garanta přednášek tabulka, tak vznikla :-P
|
||||
|
||||
seznam = get_object_or_404(Seznam, id=seznam)
|
||||
|
||||
from django.http import HttpResponse
|
||||
import csv
|
||||
|
||||
# Kód jsem zkopíroval přímo z tutoriálu
|
||||
# https://docs.djangoproject.com/en/4.0/howto/outputting-csv/
|
||||
# Jo, je to špatná verze djanga. whatever.
|
||||
response = HttpResponse(
|
||||
content_type='text/csv',
|
||||
headers={'Content-Disposition': 'attachment; filename="seznam.csv"'},
|
||||
)
|
||||
|
||||
writer = csv.writer(response)
|
||||
|
||||
attrs = (
|
||||
'id',
|
||||
'org',
|
||||
'nazev',
|
||||
'anotace',
|
||||
'klicova',
|
||||
'obor',
|
||||
'obtiznost',
|
||||
'popis',
|
||||
)
|
||||
# Hlavička
|
||||
writer.writerow(attrs)
|
||||
# Tělo
|
||||
for predn in Prednaska.objects.filter(seznamy=seznam):
|
||||
row = [getattr(predn, attr) for attr in attrs]
|
||||
writer.writerow(row)
|
||||
|
||||
return response
|
||||
|
||||
|
|
Loading…
Reference in a new issue