Better image auto fixtures, now has a fixed larger size

This commit is contained in:
Oliver Marks 2017-02-14 20:29:45 +00:00
parent 612cd5c779
commit 3a4e438f31
8 changed files with 37 additions and 11 deletions

View File

@ -10,7 +10,7 @@ pipeline:
- cp -n env.example .env - cp -n env.example .env
- ls -la /drone/src/ - ls -la /drone/src/
- ls -la /drone/src/requirements/ - ls -la /drone/src/requirements/
- pip install -r /drone/src/requirements/test.txt - pip install -r ./requirements/test.txt
- python manage.py test mhackspace --verbosity 2 - python manage.py test mhackspace --verbosity 2
mailhog: mailhog:

View File

@ -299,6 +299,7 @@ SASS_PROCESSOR_INCLUDE_DIRS = [
str(APPS_DIR) + '/static/sass', str(APPS_DIR) + '/static/sass',
str(ROOT_DIR) + '/node_modules', str(ROOT_DIR) + '/node_modules',
] ]
print(SASS_PROCESSOR_INCLUDE_DIRS)
SASS_PROCESSOR_ENABLED = True SASS_PROCESSOR_ENABLED = True
SASS_PROCESSOR_AUTO_INCLUDE = True SASS_PROCESSOR_AUTO_INCLUDE = True

View File

@ -198,7 +198,7 @@ LOGGING = {
'logfile': { 'logfile': {
'level':'DEBUG', 'level':'DEBUG',
'class':'logging.FileHandler', 'class':'logging.FileHandler',
'filename': ROOT_DIR.path("django.log"), 'filename': "%s/django.log" % ROOT_DIR,
}, },
}, },
'loggers': { 'loggers': {

View File

@ -1,3 +0,0 @@
# -*- coding: utf-8 -*-
__version__ = '0.1.0'
__version_info__ = tuple([int(num) if num.isdigit() else num for num in __version__.replace('-', '.', 1).split('.')])

View File

@ -1,9 +1,13 @@
from autofixture import AutoFixture from autofixture import AutoFixture
from autofixture.generators import ImageGenerator
from django.core.management.base import BaseCommand from django.core.management.base import BaseCommand
from mhackspace.base.models import BannerImages from mhackspace.base.models import BannerImages
from mhackspace.feeds.models import Article, Feed from mhackspace.feeds.models import Article, Feed
from mhackspace.users.models import User from mhackspace.users.models import User
class ImageFixture(AutoFixture):
class Values:
scaled_image = ImageGenerator(width=800, height=300, sizes=((1280, 300),))
class Command(BaseCommand): class Command(BaseCommand):
help = 'Build test data for development environment' help = 'Build test data for development environment'
@ -18,9 +22,8 @@ class Command(BaseCommand):
feeds = AutoFixture(Article) feeds = AutoFixture(Article)
feeds.create(10) feeds.create(10)
banners = AutoFixture(BannerImages) banners = ImageFixture(BannerImages)
banners.create(10) banners.create(10)
self.stdout.write( self.stdout.write(
self.style.SUCCESS( self.style.SUCCESS(
'Finished creating test data')) 'Finished creating test data'))

View File

@ -0,0 +1,23 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.10.5 on 2017-02-14 19:11
from __future__ import unicode_literals
from django.db import migrations
import stdimage.models
import stdimage.utils
import stdimage.validators
class Migration(migrations.Migration):
dependencies = [
('base', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='bannerimages',
name='scaled_image',
field=stdimage.models.StdImageField(blank=True, null=True, upload_to=stdimage.utils.UploadToAutoSlugClassNameDir('title'), validators=[stdimage.validators.MinSizeValidator(800, 600)]),
),
]

View File

@ -24,7 +24,7 @@ class BannerImages(models.Model):
"height": 220, "height": 220,
"crop": True}}, "crop": True}},
validators=[ validators=[
MinSizeValidator(800, 600)) MinSizeValidator(800, 600)])
caption = models.TextField() caption = models.TextField()
date = models.DateTimeField(default=timezone.now) date = models.DateTimeField(default=timezone.now)

View File

@ -1,15 +1,17 @@
{% load static %} {% load static %}
<div id="carouselExampleSlidesOnly" class="carousel slide" data-ride="carousel"> <div id="carouselExampleSlidesOnly" class="carousel slide" data-ride="carousel">
<div class="carousel-inner" role="listbox"> <div class="carousel-inner" role="listbox" style="height:300px;">
{% for banner in bannerlist %} {% for banner in bannerlist %}
{% if banner.scaled_image%}
<div class="carousel-item {% if forloop.first %}active{% endif %}"> <div class="carousel-item {% if forloop.first %}active{% endif %}">
<img class="img-fluid" src="{{ banner.scaled_image.url }}" alt=""> <img class="img-fluid" src="{{ banner.scaled_image.url }}" alt="">
<div class="carousel-caption d-none d-md-block"> <div class="carousel-caption d-none d-md-block">
<h3>{{ banner.title }}</h3> <h3>{{ banner.title }}</h3>
<p>{{ banner.description |truncatewords:30}}</p> <p>{{ banner.description |truncatewords:30}}</p>
</div> </div>
</div> </div>
{% endif %}
{% endfor %} {% endfor %}
</div> </div>
</div> </div>