From 85394433d226269a75e8f2ce1aef2ebf52c8b797 Mon Sep 17 00:00:00 2001 From: KarolG Date: Fri, 29 Sep 2023 01:43:31 +0200 Subject: [PATCH] Remade blog gallery using wagtail-simple-gallery --- artel/artel/settings/base.py | 1 + .../migrations/0002_blogpage_collection.py | 25 +++++++++++++++++++ artel/blog/models.py | 14 ++++++++++- artel/blog/templates/blog/blog_page.html | 8 ++---- artel/requirements.txt | 1 + 5 files changed, 42 insertions(+), 7 deletions(-) create mode 100644 artel/blog/migrations/0002_blogpage_collection.py diff --git a/artel/artel/settings/base.py b/artel/artel/settings/base.py index 55e2616..2cad251 100644 --- a/artel/artel/settings/base.py +++ b/artel/artel/settings/base.py @@ -72,6 +72,7 @@ INSTALLED_APPS = [ "django_celery_results", "django_celery_beat", "easy_thumbnails", + 'wagtail_simple_gallery', ] diff --git a/artel/blog/migrations/0002_blogpage_collection.py b/artel/blog/migrations/0002_blogpage_collection.py new file mode 100644 index 0000000..cd89472 --- /dev/null +++ b/artel/blog/migrations/0002_blogpage_collection.py @@ -0,0 +1,25 @@ +# Generated by Django 4.1.11 on 2023-09-28 23:29 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + dependencies = [ + ("wagtailcore", "0083_workflowcontenttype"), + ("blog", "0001_initial"), + ] + + operations = [ + migrations.AddField( + model_name="blogpage", + name="collection", + field=models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.SET_NULL, + related_name="+", + to="wagtailcore.collection", + ), + ), + ] diff --git a/artel/blog/models.py b/artel/blog/models.py index 7ab6502..72a3a4e 100644 --- a/artel/blog/models.py +++ b/artel/blog/models.py @@ -4,6 +4,8 @@ from django.core.validators import ( MaxValueValidator ) +from wagtail.core.models import Collection + from wagtail.models import Page, Orderable from wagtail.fields import RichTextField from wagtail.admin.panels import ( @@ -19,12 +21,22 @@ class BlogPage(Page): edit_date = models.DateField(auto_now=True) body = RichTextField() + collection = models.ForeignKey( + Collection, + null=True, + blank=True, + on_delete=models.SET_NULL, + related_name='+' + ) content_panels = Page.content_panels + [ FieldPanel("body"), - InlinePanel("gallery_images") + FieldPanel("collection") ] + def get_collection_name(self): + return self.collection.name if self.collection else None + class BlogPageGalleryImage(Orderable): page = ParentalKey(BlogPage, on_delete=models.CASCADE, related_name='gallery_images') diff --git a/artel/blog/templates/blog/blog_page.html b/artel/blog/templates/blog/blog_page.html index 89d786b..c1a1fd3 100644 --- a/artel/blog/templates/blog/blog_page.html +++ b/artel/blog/templates/blog/blog_page.html @@ -1,6 +1,7 @@ {% extends "base.html" %} {% load wagtailcore_tags wagtailimages_tags %} +{% load wagtailsimplegallery_tags %} {% block content %}

{{ page.title }}

@@ -8,11 +9,6 @@
{{ page.body|richtext }}
- {% for item in page.gallery_images.all %} -
- {% image item.image fill-320x240 %} -

{{ item.caption }}

-
- {% endfor %} + {% simple_gallery collection=page.get_collection_name %} {% endblock %} diff --git a/artel/requirements.txt b/artel/requirements.txt index 65dd2f2..a4b5890 100644 --- a/artel/requirements.txt +++ b/artel/requirements.txt @@ -16,3 +16,4 @@ num2words==0.5.12 sentry-sdk==1.28.0 pandas==2.0.3 wagtail-localize==1.5.2 +wagtail-simple-gallery==0.9.1