Browse Source

added wagtailmenus

master
Stanislav Platil 4 years ago
parent
commit
8bc687b9a0
  1. 5
      aktuality/models.py
  2. 9
      aktuality/templates/aktuality/aktualita.html
  3. 27
      aktuality/templates/aktuality/aktuality_index_page.html
  4. 23
      blog/migrations/0002_auto_20201207_0908.py
  5. 30
      blog/models.py
  6. 23
      blog/templates/blog/blog_index_page.html
  7. 5
      blog/templates/blog/blog_page.html
  8. 34
      home/migrations/0005_auto_20201203_1611.py
  9. 26
      home/migrations/0006_auto_20201203_1614.py
  10. 12
      home/templates/home/home_page.html
  11. 2
      requirements.txt
  12. 36
      stranka/migrations/0002_auto_20201203_1606.py
  13. 30
      stranka/migrations/0003_auto_20201203_1614.py
  14. 40
      stranka/migrations/0004_auto_20201205_2142.py
  15. 15
      stranka/models.py
  16. 23
      stranka/templates/stranka/stranka_page.html
  17. 4
      veterina/settings/base.py
  18. 38
      veterina/static/css/veterina.css
  19. 16
      veterina/templates/base.html
  20. 10
      veterina/templates/menu.html

5
aktuality/models.py

@ -17,10 +17,7 @@ class Aktualita(Page):
date = models.DateField("Post date") date = models.DateField("Post date")
body = RichTextField(blank=True) body = RichTextField(blank=True)
search_fields = Page.search_fields + [
index.SearchField('body'),
]
content_panels = Page.content_panels + [ content_panels = Page.content_panels + [
FieldPanel('body', classname="full"), FieldPanel('body', classname="full"),
FieldPanel('date'),
] ]

9
aktuality/templates/aktuality/aktualita.html

@ -0,0 +1,9 @@
{% extends "base.html" %}
{% load wagtailcore_tags %}
{% block body_class %}template-blogpage{% endblock %}
{% block content %}
{% endblock %}

27
aktuality/templates/aktuality/aktuality_index_page.html

@ -0,0 +1,27 @@
{% extends "base.html" %}
{% load wagtailcore_tags wagtailimages_tags %}
{% block body_class %}template-homepage{% endblock %}
{% block extra_css %}
{% endblock extra_css %}
{% block content %}
{% for aktualita in page.get_children %}
<div class="card">
<div class="card-header">
<h3>{{ aktualita.title }}</h3>
</div>
<div class="card-body">
<h6 class="card-title">Datum přidání: {{ aktualita.specific.date }}</h6>
<p class="card-text">{{ aktualita.specific.body|richtext }}</p>
</div>
</div>
{% endfor %}
{% endblock content %}

23
blog/migrations/0002_auto_20201207_0908.py

@ -0,0 +1,23 @@
# Generated by Django 3.1.3 on 2020-12-07 08:08
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('wagtailimages', '0022_uploadedimage'),
('blog', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='blogpage',
name='image',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, related_name='+', to='wagtailimages.image'),
),
migrations.DeleteModel(
name='BlogPageGalleryImage',
),
]

30
blog/models.py

@ -21,35 +21,13 @@ class BlogPage(Page):
date = models.DateField("Post date") date = models.DateField("Post date")
intro = models.CharField(max_length=250) intro = models.CharField(max_length=250)
body = RichTextField(blank=True) body = RichTextField(blank=True)
def main_image(self):
gallery_item = self.gallery_images.first()
if gallery_item:
return gallery_item.image
else:
return None
search_fields = Page.search_fields + [
index.SearchField('intro'),
index.SearchField('body'),
]
image = models.ForeignKey(
'wagtailimages.Image', on_delete=models.PROTECT, null=True, related_name='+'
)
content_panels = Page.content_panels + [ content_panels = Page.content_panels + [
FieldPanel('date'), FieldPanel('date'),
FieldPanel('intro'), FieldPanel('intro'),
FieldPanel('body', classname="full"), FieldPanel('body', classname="full"),
InlinePanel('gallery_images', label="Obrázky"),
]
class BlogPageGalleryImage(Orderable):
page = ParentalKey(BlogPage, 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'), ImageChooserPanel('image'),
FieldPanel('caption'),
]
]

23
blog/templates/blog/blog_index_page.html

@ -1,18 +1,27 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load wagtailcore_tags %}
{% load wagtailcore_tags wagtailimages_tags %}
{% block body_class %}template-blogindexpage{% endblock %} {% block body_class %}template-blogindexpage{% endblock %}
{% block content %} {% block content %}
<h1>{{ page.title }}</h1>
<h1 style="text-align:center">{{ page.title }}</h1>
<div class="intro">{{ page.intro|richtext }}</div> <div class="intro">{{ page.intro|richtext }}</div>
{% for post in page.get_children %}
<h2><a href="{% pageurl post %}">{{ post.title }}</a></h2>
{{ post.specific.intro }}
<div class="blog">{{ post.specific.body|richtext }}</div>
{% endfor %}
<div class="d-flex justify-content-around">
{% for post in page.get_children %}
<div class="card blog" style="width: 18rem;">
{% image post.specific.image width-250 class="card-img-top" %}
<div class="card-body">
<h5 class="card-title">{{ post.specific.title }}</h5>
<p class="card-text">{{ post.specific.intro }}</p>
</div>
<div class="card-body">
<a href="{% pageurl post %}" class="card-link">Přejít na článek</a>
</div>
</div>
{% endfor %}
</div>
{% endblock %} {% endblock %}

5
blog/templates/blog/blog_page.html

@ -1,17 +1,18 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load wagtailcore_tags %}
{% load wagtailcore_tags wagtailimages_tags %}
{% block body_class %}template-blogpage{% endblock %} {% block body_class %}template-blogpage{% endblock %}
{% block content %} {% block content %}
<h1>{{ page.title }}</h1> <h1>{{ page.title }}</h1>
<p class="meta">{{ page.date }}</p> <p class="meta">{{ page.date }}</p>
{% image page.image width-300 id="blog_img" %}
<div class="intro">{{ page.intro }}</div> <div class="intro">{{ page.intro }}</div>
{{ page.body|richtext }} {{ page.body|richtext }}
<p><a href="{{ page.get_parent.url }}">Return to blog</a></p> <p><a href="{{ page.get_parent.url }}">Return to blog</a></p>
{% endblock %} {% endblock %}

34
home/migrations/0005_auto_20201203_1611.py

@ -0,0 +1,34 @@
# Generated by Django 3.1.3 on 2020-12-03 15:11
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('wagtailimages', '0022_uploadedimage'),
('home', '0004_auto_20201202_1134'),
]
operations = [
migrations.RemoveField(
model_name='homepage',
name='image',
),
migrations.AddField(
model_name='homepage',
name='image1',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, related_name='+', to='wagtailimages.image'),
),
migrations.AddField(
model_name='homepage',
name='image2',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, related_name='+', to='wagtailimages.image'),
),
migrations.AddField(
model_name='homepage',
name='image3',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, related_name='+', to='wagtailimages.image'),
),
]

26
home/migrations/0006_auto_20201203_1614.py

@ -0,0 +1,26 @@
# Generated by Django 3.1.3 on 2020-12-03 15:14
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('home', '0005_auto_20201203_1611'),
]
operations = [
migrations.RenameField(
model_name='homepage',
old_name='image1',
new_name='image',
),
migrations.RemoveField(
model_name='homepage',
name='image2',
),
migrations.RemoveField(
model_name='homepage',
name='image3',
),
]

12
home/templates/home/home_page.html

@ -10,7 +10,15 @@
{% block content %} {% block content %}
{% image page.image width-1000 id="banner" %}
{% image page.image width-1110 id="banner" %}
{{ page.body|richtext }} {{ page.body|richtext }}
<h4 style="text-align: center;">Kde nás najdete?<span style="text-decoration: none; font-size: 18px; line-height: 2">{{ page.address|richtext }}</span> </h4>
<div class="row">
<div class="col-sm" style="text-align: center;">
<h3>Email: </h3>{{ page.email|richtext }}
</div>
<div class="col-sm" style="text-align: center;">
<h3>Telefon: </h3>{{ page.phone|richtext }}
</div>
</div>
{% endblock content %} {% endblock content %}

2
requirements.txt

@ -1,2 +1,4 @@
Django>=3.1,<3.2 Django>=3.1,<3.2
wagtail>=2.11,<2.12 wagtail>=2.11,<2.12
wagtailmenus>=3.0,<3.1

36
stranka/migrations/0002_auto_20201203_1606.py

@ -0,0 +1,36 @@
# Generated by Django 3.1.3 on 2020-12-03 15:06
from django.db import migrations, models
import django.db.models.deletion
import wagtail.core.fields
class Migration(migrations.Migration):
dependencies = [
('wagtailimages', '0022_uploadedimage'),
('stranka', '0001_initial'),
]
operations = [
migrations.RenameField(
model_name='strankapage',
old_name='body',
new_name='vybaveni',
),
migrations.AddField(
model_name='strankapage',
name='image',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, related_name='+', to='wagtailimages.image'),
),
migrations.AddField(
model_name='strankapage',
name='pracoviste',
field=wagtail.core.fields.RichTextField(blank=True),
),
migrations.AddField(
model_name='strankapage',
name='sluzby',
field=wagtail.core.fields.RichTextField(blank=True),
),
]

30
stranka/migrations/0003_auto_20201203_1614.py

@ -0,0 +1,30 @@
# Generated by Django 3.1.3 on 2020-12-03 15:14
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('wagtailimages', '0022_uploadedimage'),
('stranka', '0002_auto_20201203_1606'),
]
operations = [
migrations.RenameField(
model_name='strankapage',
old_name='image',
new_name='image1',
),
migrations.AddField(
model_name='strankapage',
name='image2',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, related_name='+', to='wagtailimages.image'),
),
migrations.AddField(
model_name='strankapage',
name='image3',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, related_name='+', to='wagtailimages.image'),
),
]

40
stranka/migrations/0004_auto_20201205_2142.py

@ -0,0 +1,40 @@
# Generated by Django 3.1.3 on 2020-12-05 20:42
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('stranka', '0003_auto_20201203_1614'),
]
operations = [
migrations.RenameField(
model_name='strankapage',
old_name='image1',
new_name='image',
),
migrations.RenameField(
model_name='strankapage',
old_name='pracoviste',
new_name='nadpis',
),
migrations.RenameField(
model_name='strankapage',
old_name='sluzby',
new_name='text',
),
migrations.RemoveField(
model_name='strankapage',
name='image2',
),
migrations.RemoveField(
model_name='strankapage',
name='image3',
),
migrations.RemoveField(
model_name='strankapage',
name='vybaveni',
),
]

15
stranka/models.py

@ -10,15 +10,18 @@ from wagtail.search import index
class StrankaPage(Page): class StrankaPage(Page):
body = RichTextField(blank=True)
nadpis = RichTextField(blank=True)
text = RichTextField(blank=True)
image = models.ForeignKey(
'wagtailimages.Image', on_delete=models.PROTECT, null=True, related_name='+'
)
search_fields = Page.search_fields + [
index.SearchField('body'),
]
content_panels = Page.content_panels + [ content_panels = Page.content_panels + [
FieldPanel('body', classname="full"),
InlinePanel('gallery_images', label="Obrázky"),
FieldPanel('nadpis', classname="full"),
FieldPanel('text', classname="full"),
ImageChooserPanel('image'),
] ]

23
stranka/templates/stranka/stranka_page.html

@ -0,0 +1,23 @@
{% extends "base.html" %}
{% load wagtailcore_tags wagtailimages_tags %}
{% block body_class %}template-homepage{% endblock %}
{% block extra_css %}
{% endblock extra_css %}
{% block content %}
<h2 style="text-align: center;">{{ page.nadpis|richtext }}</h2>
<div class="row">
<div class="col-sm" style="text-align: center;">
{{ page.text|richtext }}
</div>
<div class="col-sm" style="text-align: center;">
{% image page.image max-540x540 %}
</div>
</div>
{% endblock content %}

4
veterina/settings/base.py

@ -52,6 +52,9 @@ INSTALLED_APPS = [
'blog', 'blog',
'stranka', 'stranka',
'aktuality', 'aktuality',
'wagtail.contrib.modeladmin',
'wagtailmenus',
] ]
MIDDLEWARE = [ MIDDLEWARE = [
@ -81,6 +84,7 @@ TEMPLATES = [
'django.template.context_processors.request', 'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth', 'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages', 'django.contrib.messages.context_processors.messages',
'wagtailmenus.context_processors.wagtailmenus',
], ],
}, },
}, },

38
veterina/static/css/veterina.css

@ -1,8 +1,44 @@
#banner{ #banner{
margin: 10 auto; margin: 10 auto;
padding-top: 0;
margin-top: 0;
} }
#homepage_text{ #homepage_text{
font-size: 20px; font-size: 20px;
text-align: center; text-align: center;
}
}
body{
margin: 0;
padding: 0;
}
nav{
padding-bottom: 0;
margin-bottom: 0;
}
.col-sm p{
width: 420px;
text-align: center;
}
.col-sm img{
width: 350px;
}
.row{
padding-top: 50px;
}
.card{
margin-top: 40px;
border-color: lightsteelblue;
}
#blog_img{
width: 300px;
margin: 0 auto;
}

16
veterina/templates/base.html

@ -1,4 +1,4 @@
{% load static wagtailuserbar %}
{% load static wagtailuserbar menu_tags %}
<!DOCTYPE html> <!DOCTYPE html>
<html class="no-js" lang="en"> <html class="no-js" lang="en">
@ -28,19 +28,11 @@
<body class="{% block body_class %}{% endblock %}"> <body class="{% block body_class %}{% endblock %}">
{% wagtailuserbar %} {% wagtailuserbar %}
<div class="d-flex flex-column flex-md-row align-items-center p-3 px-md-4 mb-3 bg-white border-bottom shadow-sm">
<h5 class="my-0 mr-md-auto font-weight-normal">Company name</h5>
<nav class="my-2 my-md-0 mr-md-3">
<a class="p-2 text-dark" href="#">Features</a>
<a class="p-2 text-dark" href="#">Enterprise</a>
<a class="p-2 text-dark" href="#">Support</a>
<a class="p-2 text-dark" href="#">Pricing</a>
</nav>
<a class="btn btn-outline-primary" href="#">Sign up</a>
</div>
{% main_menu max_levels=1 template="menu.html"%}
<div class="container"> <div class="container">
{% block content %} {% block content %}
{% endblock %} {% endblock %}
</div> </div>

10
veterina/templates/menu.html

@ -0,0 +1,10 @@
{% load menu_tags %}
<div class="d-flex flex-column flex-md-row align-items-center p-3 px-md-4 mb-3 bg-white border-bottom shadow-sm">
<h5 class="my-0 mr-md-auto font-weight-normal"><a href="/"><img src="..\..\media\original_images\logo.png" alt="" style="width: 70px;"></a></h5>
<nav class="my-2 my-md-0 mr-md-3">
{% for item in menu_items %}
<a class="p-2 text-dark" href="{{ item.href }}">{{ item.text }}</a>
{% endfor %}
</nav>
</div>
Loading…
Cancel
Save