Browse Source

logo+ funkční prázdné stránky

master
Tomas Harazim 5 years ago
parent
commit
26314c2ee4
  1. 2
      blog/settings/base.py
  2. BIN
      blog/static/img/blank-image.jpg
  3. 12
      blog/templates/base.html
  4. 0
      stranky/__init__.py
  5. 3
      stranky/admin.py
  6. 5
      stranky/apps.py
  7. 44
      stranky/migrations/0001_initial.py
  8. 0
      stranky/migrations/__init__.py
  9. 35
      stranky/models.py
  10. 3
      stranky/tests.py
  11. 3
      stranky/views.py
  12. 30
      zapisnik/templates/zapisnik/blog_index_page.html

2
blog/settings/base.py

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

BIN
blog/static/img/blank-image.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 KiB

12
blog/templates/base.html

@ -31,27 +31,23 @@
<header>
<!-- Fixed navbar -->
<nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
<a class="navbar-brand" href="#">Fixed navbar</a>
<a class="navbar-brand" href="/">Můj blog</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse"
aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarCollapse">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
<a class="nav-link" href="/zapisnik/">Zápisník</a>
</li>
</ul>
<!--
<form class="form-inline mt-2 mt-md-0">
<input class="form-control mr-sm-2" type="text" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
</form>
-->
</div>
</nav>
</header>

0
stranky/__init__.py

3
stranky/admin.py

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

5
stranky/apps.py

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

44
stranky/migrations/0001_initial.py

@ -0,0 +1,44 @@
# Generated by Django 3.1.3 on 2020-11-06 10:19
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='StrankaPage',
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')),
('body', wagtail.core.fields.RichTextField(blank=True)),
],
options={
'abstract': False,
},
bases=('wagtailcore.page',),
),
migrations.CreateModel(
name='StrankaPageGalleryImage',
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='stranky.strankapage')),
],
options={
'ordering': ['sort_order'],
'abstract': False,
},
),
]

0
stranky/migrations/__init__.py

35
stranky/models.py

@ -0,0 +1,35 @@
from django.db import models
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
class StrankaPage(Page):
body = RichTextField(blank=True)
search_fields = Page.search_fields + [
index.SearchField('body'),
]
content_panels = Page.content_panels + [
FieldPanel('body', classname="full"),
InlinePanel('gallery_images', label="Obrázky"),
]
class StrankaPageGalleryImage(Orderable):
page = ParentalKey(StrankaPage, 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'),
]

3
stranky/tests.py

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

3
stranky/views.py

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

30
zapisnik/templates/zapisnik/blog_index_page.html

@ -1,6 +1,6 @@
{% extends "base.html" %}
{% load wagtailcore_tags wagtailimages_tags %}
{% load wagtailcore_tags wagtailimages_tags static %}
{% block body_class %}template-blogindexpage{% endblock %}
@ -11,14 +11,26 @@
{% for post in page.get_children %}
{% with post=post.specific %}
<h2><a href="{% pageurl post %}">{{ post.title }}</a></h2>
{% with post.main_image as main_image %}
{% if main_image %}{% image main_image fill-160x100 %}{% endif %}
{% endwith %}
<p>{{ post.intro }}</p>
{# {{ post.body|richtext }} #}
<div class="card mb-3">
<div class="row no-gutters">
<div class="col-md-4">
{% with post.main_image as main_image %}
{% if main_image %}
{% image main_image class="card-img" fill-400x150 %}
{% else %}
<img src="{% static "img/blank-image.jpg" %}" class="card-img" style="height: 150px;" alt="blank image">
{% endif %}
{% endwith %}
</div>
<div class="col-md-8">
<div class="card-body">
<h5 class="card-title"><a href="{% pageurl post %}">{{ post.title }}</a></h5>
<p class="card-text">{{ post.intro }}</p>
<p class="card-text"><small class="text-muted">{{ post.date }}</small></p>
</div>
</div>
</div>
</div>
{% endwith %}
{% endfor %}

Loading…
Cancel
Save