Browse Source

Přidán zápisník

master
Jméno Příjmení 5 years ago
parent
commit
eca42e098a
  1. 33
      blog/settings/base.py
  2. 0
      zapisnik/__init__.py
  3. 3
      zapisnik/admin.py
  4. 5
      zapisnik/apps.py
  5. 28
      zapisnik/migrations/0001_initial.py
  6. 29
      zapisnik/migrations/0002_blogpage.py
  7. 0
      zapisnik/migrations/__init__.py
  8. 33
      zapisnik/models.py
  9. 18
      zapisnik/templates/zapisnik/blog_index_page.html
  10. 17
      zapisnik/templates/zapisnik/blog_page.html
  11. 3
      zapisnik/tests.py
  12. 3
      zapisnik/views.py

33
blog/settings/base.py

@ -48,6 +48,7 @@ INSTALLED_APPS = [
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'zapisnik',
]
MIDDLEWARE = [
@ -99,28 +100,28 @@ DATABASES = {
# Password validation
# https://docs.djangoproject.com/en/3.1/ref/settings/#auth-password-validators
AUTH_PASSWORD_VALIDATORS = [
{
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},
]
# AUTH_PASSWORD_VALIDATORS = [
# {
# 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
# },
# {
# 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
# },
# {
# 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
# },
# {
# 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
# },
# ]
# Internationalization
# https://docs.djangoproject.com/en/3.1/topics/i18n/
LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'cs'
TIME_ZONE = 'UTC'
TIME_ZONE = 'Europe/Prague'
USE_I18N = True

0
zapisnik/__init__.py

3
zapisnik/admin.py

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

5
zapisnik/apps.py

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

28
zapisnik/migrations/0001_initial.py

@ -0,0 +1,28 @@
# Generated by Django 3.1.2 on 2020-10-21 08:42
from django.db import migrations, models
import django.db.models.deletion
import wagtail.core.fields
class Migration(migrations.Migration):
initial = True
dependencies = [
('wagtailcore', '0052_pagelogentry'),
]
operations = [
migrations.CreateModel(
name='BlogIndexPage',
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')),
('intro', wagtail.core.fields.RichTextField(blank=True)),
],
options={
'abstract': False,
},
bases=('wagtailcore.page',),
),
]

29
zapisnik/migrations/0002_blogpage.py

@ -0,0 +1,29 @@
# Generated by Django 3.1.2 on 2020-10-21 09:04
from django.db import migrations, models
import django.db.models.deletion
import wagtail.core.fields
class Migration(migrations.Migration):
dependencies = [
('wagtailcore', '0052_pagelogentry'),
('zapisnik', '0001_initial'),
]
operations = [
migrations.CreateModel(
name='BlogPage',
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',),
),
]

0
zapisnik/migrations/__init__.py

33
zapisnik/models.py

@ -0,0 +1,33 @@
from django.db import models
# Create your models here.
from wagtail.core.models import Page
from wagtail.core.fields import RichTextField
from wagtail.admin.edit_handlers import FieldPanel
from wagtail.search import index
class BlogIndexPage(Page):
intro = RichTextField(blank=True)
content_panels = Page.content_panels + [
FieldPanel('intro', classname="full")
]
class BlogPage(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"),
]

18
zapisnik/templates/zapisnik/blog_index_page.html

@ -0,0 +1,18 @@
{% extends "base.html" %}
{% load wagtailcore_tags %}
{% block body_class %}template-blogindexpage{% endblock %}
{% block content %}
<h1>{{ page.title }}</h1>
<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 }}
{# {{ post.specific.body|richtext }} #}
{% endfor %}
{% endblock %}

17
zapisnik/templates/zapisnik/blog_page.html

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

3
zapisnik/tests.py

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

3
zapisnik/views.py

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