Compare commits

..

No commits in common. "b7498b42b25ef751dd50cae188772a8afec9bde5" and "c78977536476bd84c388551e8ef0b25e947244fe" have entirely different histories.

2 changed files with 16 additions and 12 deletions

View file

@ -28,8 +28,8 @@ def prepnout_fotogalerii_do_org_rezimu(modeladmin, request, queryset):
class GalerieInline(admin.TabularInline): class GalerieInline(admin.TabularInline):
model = Obrazek model = Obrazek
fields = ['obrazek_velky', 'nazev', 'popis', 'poradi'] fields = ['obrazek_velky', 'nazev', 'popis', 'obrazek_maly_tag', 'poradi']
readonly_fields = ['nazev'] readonly_fields = ['nazev', 'obrazek_maly_tag']
formfield_overrides = { formfield_overrides = {
models.TextField: {'widget': forms.TextInput}, models.TextField: {'widget': forms.TextInput},
} }

View file

@ -43,17 +43,14 @@ def obrazek_filename(self, filename):
return os.path.join(*cesta) return os.path.join(*cesta)
class Obrazek(models.Model): class Obrazek(models.Model):
# „originál“ (modulo max. velikost uploadu na web FIXME!) obrazek_velky = models.ImageField(upload_to=obrazek_filename,
obrazek_velky = models.FileField(upload_to=obrazek_filename,
help_text = "Lze vložit libovolně velký obrázek. Ideální je, aby alespoň jeden rozměr měl alespoň 500px.") help_text = "Lze vložit libovolně velký obrázek. Ideální je, aby alespoň jeden rozměr měl alespoň 500px.")
# To, co se zobrazí v galerii jako hlavní obrázek (při prohlížení konkrétního obrázku a jako tittulní obrázek u galerií, které nemají vlastní obrázky (kupř. Vávrovka 2015)) obrazek_stredni = ImageSpecField(source='obrazek_velky',
# obrazek_stredni = ImageSpecField(source='obrazek_velky', processors=[Transpose(Transpose.AUTO), ResizeToFit(900, 675, upscale=False)],
# processors=[Transpose(Transpose.AUTO), ResizeToFit(900, 675, upscale=False)], options={'quality': 95})
# options={'quality': 95}) obrazek_maly = ImageSpecField(source='obrazek_velky',
# Zmenšené obrázky v přehledu obrázků a pod hlavním obrázkem (předchozí/následující) processors=[Transpose(Transpose.AUTO), ResizeToFit(167, 167, upscale=False)],
# obrazek_maly = ImageSpecField(source='obrazek_velky', options={'quality': 95})
# processors=[Transpose(Transpose.AUTO), ResizeToFit(167, 167, upscale=False)],
# options={'quality': 95})
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)
@ -68,6 +65,13 @@ class Obrazek(models.Model):
verbose_name_plural = 'Obrázky' verbose_name_plural = 'Obrázky'
ordering = ['nazev'] ordering = ['nazev']
def obrazek_maly_tag(self):
if not self.obrazek_maly:
return ''
return u'<img src="{}">'.format(self.obrazek_maly.url)
obrazek_maly_tag.short_description = "Náhled"
obrazek_maly_tag.allow_tags = True
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
# obrázek potřebuje název, protože se z něj generuje cesta pro jeho uložení # obrázek potřebuje název, protože se z něj generuje cesta pro jeho uložení
# (a pak se podle něj taky řadí) # (a pak se podle něj taky řadí)