commit
4c22e312c6
13 changed files with 130 additions and 6 deletions
@ -0,0 +1,3 @@ |
||||
from django.contrib import admin |
||||
|
||||
# Register your models here. |
||||
@ -0,0 +1,5 @@ |
||||
from django.apps import AppConfig |
||||
|
||||
|
||||
class CmsPagesConfig(AppConfig): |
||||
name = 'cms_pages' |
||||
@ -0,0 +1,33 @@ |
||||
# -*- coding: utf-8 -*- |
||||
# Generated by Django 1.9.7 on 2016-08-26 12:44 |
||||
from __future__ import unicode_literals |
||||
|
||||
from django.db import migrations, models |
||||
import django.db.models.deletion |
||||
import wagtail.wagtailcore.blocks |
||||
import wagtail.wagtailcore.fields |
||||
import wagtail.wagtailimages.blocks |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
initial = True |
||||
|
||||
dependencies = [ |
||||
('wagtailcore', '0029_unicode_slugfield_dj19'), |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.CreateModel( |
||||
name='CmsPage', |
||||
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.wagtailcore.fields.StreamField((('heading', wagtail.wagtailcore.blocks.CharBlock(classname='full title')), ('paragraph', wagtail.wagtailcore.blocks.RichTextBlock()), ('image', wagtail.wagtailimages.blocks.ImageChooserBlock())))), |
||||
('date', models.DateField(verbose_name='Дата размещения')), |
||||
], |
||||
options={ |
||||
'abstract': False, |
||||
}, |
||||
bases=('wagtailcore.page',), |
||||
), |
||||
] |
||||
@ -0,0 +1,26 @@ |
||||
from django.db import models |
||||
from wagtail.wagtailadmin.edit_handlers import StreamFieldPanel, FieldPanel |
||||
from wagtail.wagtailcore import blocks |
||||
from wagtail.wagtailcore.fields import StreamField |
||||
from wagtail.wagtailcore.models import Page |
||||
from wagtail.wagtailimages.blocks import ImageChooserBlock |
||||
|
||||
__author__ = 'PekopT' |
||||
|
||||
|
||||
class CmsPage(Page): |
||||
body = StreamField([ |
||||
('heading', blocks.CharBlock(classname="full title")), |
||||
('paragraph', blocks.RichTextBlock()), |
||||
('image', ImageChooserBlock()), |
||||
]) |
||||
date = models.DateField("Дата размещения") |
||||
|
||||
content_panels = Page.content_panels + [ |
||||
FieldPanel('date'), |
||||
StreamFieldPanel('body'), |
||||
] |
||||
|
||||
# promote_panels = [ |
||||
# MultiFieldPanel(Page.promote_panels, "Common page configuration"), |
||||
# ] |
||||
@ -0,0 +1,3 @@ |
||||
from django.test import TestCase |
||||
|
||||
# Create your tests here. |
||||
@ -0,0 +1,3 @@ |
||||
from django.shortcuts import render |
||||
|
||||
# Create your views here. |
||||
@ -0,0 +1,22 @@ |
||||
{% extends 'partials/base.html' %} |
||||
|
||||
{% block content %} |
||||
<section class="mainContainer"> |
||||
{% include 'partials/header.html' %} |
||||
<div class="container-fluid"> |
||||
<div class="row"> |
||||
<h1>{{ page.title }}</h1> |
||||
</div> |
||||
</div> |
||||
</section> |
||||
|
||||
{% for block in page.body %} |
||||
{% if block.block_type == 'heading' %} |
||||
<h2>{{ block.value }}</h2> |
||||
{% else %} |
||||
<section class="block-{{ block.block_type }}"> |
||||
{{ block }} |
||||
</section> |
||||
{% endif %} |
||||
{% endfor %} |
||||
{% endblock %} |
||||
Loading…
Reference in new issue