Galerie: odstraněn datum u obrázku, řaď dle názvu
This commit is contained in:
		
							parent
							
								
									6a8db788f0
								
							
						
					
					
						commit
						746bb4b34c
					
				
					 3 changed files with 27 additions and 29 deletions
				
			
		
							
								
								
									
										22
									
								
								galerie/migrations/0007_obrazek_odstranen_datum.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								galerie/migrations/0007_obrazek_odstranen_datum.py
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,22 @@ | ||||||
|  | # -*- coding: utf-8 -*- | ||||||
|  | from __future__ import unicode_literals | ||||||
|  | 
 | ||||||
|  | from django.db import models, migrations | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class Migration(migrations.Migration): | ||||||
|  | 
 | ||||||
|  |     dependencies = [ | ||||||
|  |         ('galerie', '0006_django_imagekit'), | ||||||
|  |     ] | ||||||
|  | 
 | ||||||
|  |     operations = [ | ||||||
|  |         migrations.AlterModelOptions( | ||||||
|  |             name='obrazek', | ||||||
|  |             options={'ordering': ['nazev'], 'verbose_name': 'Obr\xe1zek', 'verbose_name_plural': 'Obr\xe1zky'}, | ||||||
|  |         ), | ||||||
|  |         migrations.RemoveField( | ||||||
|  |             model_name='obrazek', | ||||||
|  |             name='datum', | ||||||
|  |         ), | ||||||
|  |     ] | ||||||
|  | @ -1,19 +1,12 @@ | ||||||
| # coding: utf-8 | # coding: utf-8 | ||||||
| 
 | 
 | ||||||
| from django.db import models | from django.db import models | ||||||
| import seminar.models | #from django.db.models import Q | ||||||
| from django.db.models import Q |  | ||||||
| from django.utils import timezone |  | ||||||
| from django.utils.encoding import force_unicode | from django.utils.encoding import force_unicode | ||||||
| from imagekit.models import ImageSpecField | from imagekit.models import ImageSpecField | ||||||
| from imagekit.processors import ResizeToFit, Transpose | from imagekit.processors import ResizeToFit, Transpose | ||||||
| 
 | 
 | ||||||
| from PIL import Image |  | ||||||
| from PIL.ExifTags import TAGS |  | ||||||
| import os | import os | ||||||
| from cStringIO import StringIO |  | ||||||
| from django.core.files.base import ContentFile |  | ||||||
| from datetime import datetime |  | ||||||
| 
 | 
 | ||||||
| from seminar.models import Soustredeni | from seminar.models import Soustredeni | ||||||
| 
 | 
 | ||||||
|  | @ -26,14 +19,6 @@ VIDITELNOST = ( | ||||||
|     (NIKDY, 'Nikdy'), |     (NIKDY, 'Nikdy'), | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| def get_exif(fn): |  | ||||||
|     ret = {} |  | ||||||
|     info = fn._getexif() |  | ||||||
|     for tag, value in info.items(): |  | ||||||
|         decoded = TAGS.get(tag, tag) |  | ||||||
|         ret[decoded] = value |  | ||||||
|     return ret |  | ||||||
| 
 |  | ||||||
| # tyhle funkce jsou tady jen kvůli starým migracím, které se na ně odkazují | # tyhle funkce jsou tady jen kvůli starým migracím, které se na ně odkazují | ||||||
| # až se ty migrace někdy squashnou, tak by mělo být možné funkce smazat | # až se ty migrace někdy squashnou, tak by mělo být možné funkce smazat | ||||||
| def obrazek_filename_maly(): | def obrazek_filename_maly(): | ||||||
|  | @ -63,23 +48,14 @@ class Obrazek(models.Model): | ||||||
|   nazev = models.CharField('Název', max_length=50, blank = True, null = True) |   nazev = models.CharField('Název', max_length=50, blank = True, null = True) | ||||||
|   popis = models.TextField('Popis', blank = True, null = True) |   popis = models.TextField('Popis', blank = True, null = True) | ||||||
|   datum_vlozeni = models.DateTimeField('Datum vložení', auto_now_add = True) |   datum_vlozeni = models.DateTimeField('Datum vložení', auto_now_add = True) | ||||||
|   datum = models.DateTimeField('Datum pořízení fotografie', blank = True, null = True) |  | ||||||
|   galerie = models.ForeignKey('Galerie', blank=True, null=True) |   galerie = models.ForeignKey('Galerie', blank=True, null=True) | ||||||
|   poradi = models.IntegerField('Pořadí', blank = True, null = True) |   poradi = models.IntegerField('Pořadí', blank = True, null = True) | ||||||
|   def __unicode__(self): |   def __unicode__(self): | ||||||
|     return self.nazev + " -- " + unicode(self.obrazek_velky.name) + " (" + str(self.datum) + ")" |     return self.nazev + " -- " + unicode(self.obrazek_velky.name) | ||||||
|   class Meta: |   class Meta: | ||||||
|     verbose_name = 'Obrázek' |     verbose_name = 'Obrázek' | ||||||
|     verbose_name_plural = 'Obrázky' |     verbose_name_plural = 'Obrázky' | ||||||
|     ordering = ['datum'] |     ordering = ['nazev'] | ||||||
|   def save(self): |  | ||||||
|     original = Image.open(self.obrazek_velky) |  | ||||||
|     # vycteni EXIFu |  | ||||||
|     exif = get_exif(original) |  | ||||||
|     if exif['DateTimeOriginal']: |  | ||||||
|         datum_ints = map(int, ":".join(exif['DateTimeOriginal'].split(' ')).split(":")) |  | ||||||
|         self.datum = datetime(*datum_ints) |  | ||||||
|     super(Obrazek, self).save() |  | ||||||
|    |    | ||||||
| 
 | 
 | ||||||
| class Galerie(models.Model): | class Galerie(models.Model): | ||||||
|  |  | ||||||
|  | @ -38,7 +38,7 @@ def nahled(request, pk, soustredeni): | ||||||
|     if not request.user.is_staff: |     if not request.user.is_staff: | ||||||
|         podgalerie = podgalerie.filter(zobrazit__lt=1) |         podgalerie = podgalerie.filter(zobrazit__lt=1) | ||||||
| 
 | 
 | ||||||
|     obrazky = Obrazek.objects.filter(galerie = galerie).order_by('datum') |     obrazky = Obrazek.objects.filter(galerie = galerie) | ||||||
|     preview = zobrazit(galerie, request) |     preview = zobrazit(galerie, request) | ||||||
| 
 | 
 | ||||||
|     sourozenci = [] |     sourozenci = [] | ||||||
|  | @ -82,7 +82,7 @@ def detail(request, pk, fotka, soustredeni): | ||||||
|   galerie = get_object_or_404(Galerie, pk=pk) |   galerie = get_object_or_404(Galerie, pk=pk) | ||||||
|   preview = zobrazit(galerie, request) |   preview = zobrazit(galerie, request) | ||||||
|   obrazek = get_object_or_404(Obrazek, pk=fotka) |   obrazek = get_object_or_404(Obrazek, pk=fotka) | ||||||
|   obrazky = galerie.obrazek_set.all().order_by('datum') |   obrazky = galerie.obrazek_set.all() | ||||||
| 
 | 
 | ||||||
|   # vytvoreni a obslouzeni formulare |   # vytvoreni a obslouzeni formulare | ||||||
|   if request.method == 'POST': |   if request.method == 'POST': | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Matěj Kocián
						Matěj Kocián