kopia lustrzana https://github.com/wagtail/bakerydemo
Merge branch 'master' into 28-pin-reqs
commit
dfcd58fd80
|
@ -111,13 +111,10 @@ class BlogPage(Page):
|
|||
|
||||
parent_page_types = ['BlogIndexPage']
|
||||
|
||||
# Defining what content type can sit under the parent
|
||||
# The empty array means that no children can be placed under the
|
||||
# LocationPage page model
|
||||
# Define what content types can exist as children of BlogPage.
|
||||
# Empty list means that no child content types are allowed.
|
||||
subpage_types = []
|
||||
|
||||
# api_fields = ['image', 'body']
|
||||
|
||||
|
||||
class BlogIndexPage(RoutablePageMixin, Page):
|
||||
"""
|
||||
|
@ -125,8 +122,9 @@ class BlogIndexPage(RoutablePageMixin, Page):
|
|||
We need to alter the page model's context to return the child page objects - the
|
||||
BlogPage - so that it works as an index page
|
||||
|
||||
The RoutablePageMixin is used to allow for a custom sub-URL
|
||||
RoutablePageMixin is used to allow for a custom sub-URL for tag views.
|
||||
"""
|
||||
|
||||
image = models.ForeignKey(
|
||||
'wagtailimages.Image',
|
||||
null=True,
|
||||
|
@ -145,12 +143,7 @@ class BlogIndexPage(RoutablePageMixin, Page):
|
|||
FieldPanel('introduction')
|
||||
]
|
||||
|
||||
# parent_page_types = [
|
||||
# 'home.HomePage'
|
||||
# ]
|
||||
|
||||
# Defining what content type can sit under the parent. Since it's a blank
|
||||
# array no subpage can be added
|
||||
# What pages types can live under this page type?
|
||||
subpage_types = ['BlogPage']
|
||||
|
||||
def get_context(self, request):
|
||||
|
@ -168,6 +161,7 @@ class BlogIndexPage(RoutablePageMixin, Page):
|
|||
return all related BlogPages for a given Tag or redirect back to
|
||||
the BlogIndexPage
|
||||
"""
|
||||
|
||||
try:
|
||||
tag = Tag.objects.get(slug=tag)
|
||||
except Tag.DoesNotExist:
|
||||
|
@ -179,9 +173,7 @@ class BlogIndexPage(RoutablePageMixin, Page):
|
|||
blogs = BlogPage.objects.filter(tags=tag).live().descendant_of(self)
|
||||
|
||||
context = {
|
||||
'title': 'Posts tagged with: {}'.format(tag.name),
|
||||
'tag': tag,
|
||||
'blogs': blogs
|
||||
}
|
||||
return render(request, 'blog/blog_index_page.html', context)
|
||||
|
||||
# api_fields = ['introduction']
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.10.5 on 2017-02-15 07:23
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import django.core.validators
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('locations', '0002_auto_20170211_2229'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='locationpage',
|
||||
name='lat_long',
|
||||
field=models.CharField(help_text="Comma separated lat/long. (Ex. 64.144367, -21.939182) Right click Google Maps and select 'What's Here'", max_length=36, validators=[django.core.validators.RegexValidator(code='invalid_lat_long', message='Lat Long must be a comma-separated numeric lat and long', regex='^(\\-?\\d+(\\.\\d+)?),\\s*(\\-?\\d+(\\.\\d+)?)$')]),
|
||||
),
|
||||
]
|
|
@ -73,7 +73,7 @@ class LocationsIndexPage(Page):
|
|||
context = super(LocationsIndexPage, self).get_context(request)
|
||||
context['locations'] = LocationPage.objects.descendant_of(
|
||||
self).live().order_by(
|
||||
'-first_published_at')
|
||||
'title')
|
||||
return context
|
||||
|
||||
|
||||
|
|
|
@ -75,6 +75,15 @@ a.btn:hover {
|
|||
color: white;
|
||||
}
|
||||
|
||||
a.btn-sm {
|
||||
padding: 6px 8px;
|
||||
font-size: 10px;
|
||||
line-height: normal;
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
input {
|
||||
border-radius: 3px;
|
||||
border: none;
|
||||
|
@ -495,4 +504,3 @@ li.has-submenu a.allow-toggle {
|
|||
.navbar-toggle .icon-bar {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
|
|
|
@ -5,27 +5,26 @@
|
|||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-7 col-md-offset-2">
|
||||
{{ page.title }}
|
||||
<h2>{{ page.title }}</h2>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock content-header %}
|
||||
|
||||
{% block content-body %}
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-7 col-md-offset-2">
|
||||
{% for blog in blogs %}
|
||||
<div>
|
||||
<h2><a href="{{ blog.url }}">{{ blog.title }}</a></h2>
|
||||
{{ blog.body|truncatewords_html:10 }}
|
||||
|
||||
{% for tag in blog.get_tags %}
|
||||
<a href="{{ tag.url }}">{{ tag }}</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-7 col-md-offset-2">
|
||||
{% if tag %}
|
||||
<h3>Posts tagged with "{{ tag }}":</h3>
|
||||
{% endif %}
|
||||
{% for blog in blogs %}
|
||||
<div>
|
||||
<h2><a href="{{ blog.url }}">{{ blog.title }}</a></h2>
|
||||
{{ blog.body|truncatewords_html:10 }}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock content-body %}
|
||||
|
|
|
@ -26,9 +26,12 @@
|
|||
|
||||
{{ page.body }}
|
||||
|
||||
{% for tag in page.get_tags %}
|
||||
<a href="{{ tag.url }}">{{ tag }}</a>
|
||||
{% endfor %}
|
||||
{% if page.get_tags %}
|
||||
Tagged with:<br />
|
||||
{% for tag in page.get_tags %}
|
||||
<a href="{{ tag.url }}" class="btn btn-sm">{{ tag }}</a>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
{% extends "base.html" %}
|
||||
{% load wagtailcore_tags %}
|
||||
{% load wagtailimages_tags %}
|
||||
|
||||
|
||||
{% block content-header %}
|
||||
{{ page.title }}
|
||||
|
@ -7,6 +9,9 @@
|
|||
|
||||
{% block content-body %}
|
||||
{% for location in locations %}
|
||||
<div><a href="{% pageurl location %}">{{ location.title }}</a></div>
|
||||
<div>
|
||||
<a href="{% pageurl location %}">{{ location.title }}</a>
|
||||
{% image location.image width-150 %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endblock content-body %}
|
||||
|
|
Ładowanie…
Reference in New Issue