Browse Source

galerie | hromadne nahrani fotek

remotes/origin/Float_novinky
Bc. Petr Pecha 9 years ago
parent
commit
54c7afab71
  1. 5
      galerie/TODO
  2. 2
      galerie/admin.py
  3. 1
      galerie/forms.py
  4. 4
      galerie/templates/galerie/GalerieNahled.html
  5. 40
      galerie/views.py

5
galerie/TODO

@ -5,6 +5,9 @@
* zvolit velikosti velke a male fotky * zvolit velikosti velke a male fotky
* vycteni EXIFu * vycteni EXIFu
* razeni podle casu * razeni podle casu
* hromadne nahravani fotek * hromadne pridani fotek
* do CSS * do CSS
* znovuukladani malych a strednich fotek -- spravit, aby se tak nedělo furt * znovuukladani malych a strednich fotek -- spravit, aby se tak nedělo furt
* přidávání nových galerií jen když je galerie neveřejna
* zverejneni cele galerie k soustredeni i jejich podgalerii
* třízení podgalerií

2
galerie/admin.py

@ -11,7 +11,7 @@ class ObrazekAdmin(admin.ModelAdmin):
class GalerieAdmin(admin.ModelAdmin): class GalerieAdmin(admin.ModelAdmin):
model = Galerie model = Galerie
fields = ('zobrazit', 'nazev', 'titulni_obrazek', 'popis', 'galerie_up', 'soustredeni') fields = ('zobrazit', 'nazev', 'titulni_obrazek', 'popis', 'galerie_up', 'soustredeni')
list_display = ('nazev', 'datum_zmeny', 'zobrazit') list_display = ('nazev', 'pk', 'datum_zmeny', 'zobrazit')
inlines = [GalerieInline] inlines = [GalerieInline]
admin.site.register(Obrazek, ObrazekAdmin) admin.site.register(Obrazek, ObrazekAdmin)

1
galerie/forms.py

@ -8,3 +8,4 @@ class KomentarForm(forms.Form):
class NewGalerieForm(forms.Form): class NewGalerieForm(forms.Form):
nazev = forms.CharField(label = "Název galerie", max_length = 100) nazev = forms.CharField(label = "Název galerie", max_length = 100)
popis = forms.CharField(label = "Popis", required = False, max_length = 2000, widget = forms.Textarea)

4
galerie/templates/galerie/GalerieNahled.html

@ -19,9 +19,11 @@
<li><a href="../{{galerie.pk}}">{{galerie}}</a> <li><a href="../{{galerie.pk}}">{{galerie}}</a>
{% endif %} {% endif %}
{% endfor %} {% endfor %}
</ul>
{% endif %}
{% if user.is_staff %} {% if user.is_staff %}
<ul>
<li><a href="./new">VYTVOŘIT NOVOU PODGALERII </a> <li><a href="./new">VYTVOŘIT NOVOU PODGALERII </a>
{% endif %}
</ul> </ul>
{% endif %} {% endif %}

40
galerie/views.py

@ -5,9 +5,10 @@ import random
from django.http import HttpResponse, Http404 from django.http import HttpResponse, Http404
from django.shortcuts import render, HttpResponseRedirect, get_object_or_404 from django.shortcuts import render, HttpResponseRedirect, get_object_or_404
from django.template import RequestContext from django.template import RequestContext
from datetime import datetime
from galerie.models import Obrazek, Galerie from galerie.models import Obrazek, Galerie
from seminar.models import Soustredeni from seminar.models import Soustredeni
from galerie.forms import KomentarForm, NewGalerieForm from galerie.forms import KomentarForm, NewGalerieForm
@ -110,20 +111,47 @@ def detail(request, pk, fotka, soustredeni):
def new_galerie(request, galerie, soustredeni): def new_galerie(request, galerie, soustredeni):
# zjistime k jakemu soustredeni se vaze nove vytvarena galerie
soustredeni = get_object_or_404(Soustredeni, pk = soustredeni) soustredeni = get_object_or_404(Soustredeni, pk = soustredeni)
# pokud je parametr galerie 0, pak jde o hlavni galerii
# kdyz je nejaky jiny, pak je pk galerie pod kterou tu dalsi vytvarim
if int(galerie) == 0: if int(galerie) == 0:
galerie_up = False
galerie_text = "Hlavní fotogalerie soustředění" galerie_text = "Hlavní fotogalerie soustředění"
else: else:
galerie = get_object_or_404(Galerie, pk = int(galerie)) galerie_up = get_object_or_404(Galerie, pk = int(galerie))
galerie_text = "podgalerii ke galerii " + str(galerie) galerie_text = "podgalerii ke galerii " + str(galerie_up)
# obsluha formulare umoznujiciho multiple nahravani fotek
if request.method == 'POST': if request.method == 'POST':
form = NewGalerieForm(request.POST, request.FILES) form = NewGalerieForm(request.POST, request.FILES)
if form.is_valid(): if form.is_valid():
# TODO dopsat vytvoreni fotogalerie # vytvoreni nove galerie
gal = Galerie()
gal.nazev = form.cleaned_data['nazev']
gal.popis = form.cleaned_data['popis']
gal.zobrazit = 1 # galerie je v procesu vytvareni
''' pokud je to podgalerie pridej nadrazenou galerii
a nadrazene soustredeni nechej volne,
pokud je to hlavni galerie, tak nadrazena galerie neexistuje,
ale v takovem pripade musi byt nadrazene soustredeni a ne jinak '''
if galerie_up:
gal.galerie_up = galerie_up
else:
gal.soustredeni = soustredeni
gal.save()
# zpracovani obrazku v galerii
for obr in request.FILES.getlist('obr'): for obr in request.FILES.getlist('obr'):
pass # TODO dopsat ulozeni obrazku o = Obrazek()
# TODO presmerovani na nove vytvořenou galerii o.obrazek_velky = obr
o.nazev = str(gal) + "/" + str(obr)
o.datum = datetime.now() #TODO vycist z EXIFU
o.galerie = gal
o.save()
# presmerovani na prave vzniklou galerii
return HttpResponseRedirect('../../' + str(gal.pk))
else: else:
form = NewGalerieForm() form = NewGalerieForm()

Loading…
Cancel
Save