galerie | hromadne nahrani fotek
This commit is contained in:
		
							parent
							
								
									9c59e6dec3
								
							
						
					
					
						commit
						54c7afab71
					
				
					 5 changed files with 46 additions and 12 deletions
				
			
		|  | @ -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í | ||||||
|  |  | ||||||
|  | @ -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) | ||||||
|  |  | ||||||
|  | @ -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) | ||||||
|  |  | ||||||
|  | @ -19,10 +19,12 @@ | ||||||
|       <li><a href="../{{galerie.pk}}">{{galerie}}</a> |       <li><a href="../{{galerie.pk}}">{{galerie}}</a> | ||||||
|       {% endif %} |       {% endif %} | ||||||
|     {% endfor %} |     {% endfor %} | ||||||
|     {% if user.is_staff %} |   </ul> | ||||||
|       <li><a href="./new">VYTVOŘIT NOVOU PODGALERII </a> |   {% endif %} | ||||||
|     {% endif %} |   {% if user.is_staff %} | ||||||
|     </ul> |   <ul> | ||||||
|  |     <li><a href="./new">VYTVOŘIT NOVOU PODGALERII </a> | ||||||
|  |   </ul> | ||||||
|   {% endif %} |   {% endif %} | ||||||
| 
 | 
 | ||||||
|   {# obrazky v galerii #} |   {# obrazky v galerii #} | ||||||
|  |  | ||||||
|  | @ -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…
	
		Reference in a new issue
	
	 Bc. Petr Pecha
						Bc. Petr Pecha