Browse Source

galerie

master
petr 5 years ago
parent
commit
2e6fd8497c
  1. 0
      galeri/__init__.py
  2. 3
      galeri/admin.py
  3. 5
      galeri/apps.py
  4. 46
      galeri/migrations/0001_initial.py
  5. 0
      galeri/migrations/__init__.py
  6. 45
      galeri/models.py
  7. 63
      galeri/templates/galeri/galeri_page.html
  8. 3
      galeri/tests.py
  9. 3
      galeri/views.py
  10. 1
      ubytovani/settings/base.py

0
galeri/__init__.py

3
galeri/admin.py

@ -0,0 +1,3 @@
from django.contrib import admin
# Register your models here.

5
galeri/apps.py

@ -0,0 +1,5 @@
from django.apps import AppConfig
class GaleriConfig(AppConfig):
name = 'galeri'

46
galeri/migrations/0001_initial.py

@ -0,0 +1,46 @@
# Generated by Django 3.1.3 on 2020-11-25 21:26
from django.db import migrations, models
import django.db.models.deletion
import modelcluster.fields
import wagtail.core.fields
class Migration(migrations.Migration):
initial = True
dependencies = [
('wagtailimages', '0022_uploadedimage'),
('wagtailcore', '0059_apply_collection_ordering'),
]
operations = [
migrations.CreateModel(
name='GaleriPage',
fields=[
('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')),
('date', models.DateField(verbose_name='Post date')),
('intro', models.CharField(max_length=250)),
('body', wagtail.core.fields.RichTextField(blank=True)),
],
options={
'abstract': False,
},
bases=('wagtailcore.page',),
),
migrations.CreateModel(
name='GaleriPageGalleryImage',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('sort_order', models.IntegerField(blank=True, editable=False, null=True)),
('caption', models.CharField(blank=True, max_length=250)),
('image', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='+', to='wagtailimages.image')),
('page', modelcluster.fields.ParentalKey(on_delete=django.db.models.deletion.CASCADE, related_name='gallery_images', to='galeri.galeripage')),
],
options={
'ordering': ['sort_order'],
'abstract': False,
},
),
]

0
galeri/migrations/__init__.py

45
galeri/models.py

@ -0,0 +1,45 @@
from django.db import models
# New imports added for ParentalKey, Orderable, InlinePanel, ImageChooserPanel
from modelcluster.fields import ParentalKey
from wagtail.core.models import Page, Orderable
from wagtail.core.fields import RichTextField
from wagtail.admin.edit_handlers import FieldPanel, InlinePanel
from wagtail.images.edit_handlers import ImageChooserPanel
from wagtail.search import index
# ... (Keep the definition of BlogIndexPage, and update BlogPage:)
class GaleriPage(Page):
date = models.DateField("Post date")
intro = models.CharField(max_length=250)
body = RichTextField(blank=True)
search_fields = Page.search_fields + [
index.SearchField('intro'),
index.SearchField('body'),
]
content_panels = Page.content_panels + [
FieldPanel('date'),
FieldPanel('intro'),
FieldPanel('body', classname="full"),
InlinePanel('gallery_images', label="Gallery images"),
]
class GaleriPageGalleryImage(Orderable):
page = ParentalKey(GaleriPage, on_delete=models.CASCADE, related_name='gallery_images')
image = models.ForeignKey(
'wagtailimages.Image', on_delete=models.CASCADE, related_name='+'
)
caption = models.CharField(blank=True, max_length=250)
panels = [
ImageChooserPanel('image'),
FieldPanel('caption'),
]

63
galeri/templates/galeri/galeri_page.html

@ -0,0 +1,63 @@
<style>
body{
background-color: antiquewhite;
}
h2,h1,h3,h4,p{
text-align: center;
}
.stran{
width: 60%;
height: auto;
background-color: rgb(240, 219, 162);
margin-left: auto;
margin-right: auto;
}
img {
display: block;
margin-left: auto;
margin-right: auto }
.intro{
margin-left: auto;
margin-right: auto;
}
</style>
{% extends "base.html" %}
{% load wagtailcore_tags wagtailimages_tags %}
{% block body_class %}template-blogpage{% endblock %}
{% block content %}
<div class="stran">
<p><a href="{{ page.get_parent.url }}">Return to blog</a></p>
<h1>{{ page.title }}</h1>
<p class="meta">{{ page.date }}</p>
<div class="intro">{{ page.intro }}</div>
{{ page.body|richtext }}
<br>
{% for item in page.gallery_images.all %}
<div style="float: right; margin: 28px">
{% image item.image fill-320x240 %}
<p>{{ item.caption }}</p>
</div>
{% endfor %}
{% endblock %}
</div>

3
galeri/tests.py

@ -0,0 +1,3 @@
from django.test import TestCase
# Create your tests here.

3
galeri/views.py

@ -0,0 +1,3 @@
from django.shortcuts import render
# Create your views here.

1
ubytovani/settings/base.py

@ -49,6 +49,7 @@ INSTALLED_APPS = [
'django.contrib.messages', 'django.contrib.messages',
'django.contrib.staticfiles', 'django.contrib.staticfiles',
'stranky', 'stranky',
'galeri',
] ]
MIDDLEWARE = [ MIDDLEWARE = [

Loading…
Cancel
Save