Skip to content

Instantly share code, notes, and snippets.

@kevinhowbrook
Created June 25, 2020 21:35
Show Gist options
  • Save kevinhowbrook/db3548a587ee9e72ea4d1b229e05d351 to your computer and use it in GitHub Desktop.
Save kevinhowbrook/db3548a587ee9e72ea4d1b229e05d351 to your computer and use it in GitHub Desktop.
wagtail management command for pages with images
from django.core.management.base import BaseCommand
from wagtail.core.models import Page
from django.core.files.images import ImageFile
from projects.models import ProjectPage
from home.models import HomePage
from images.models import CustomImage
from io import BytesIO
import requests
from django.core.files.images import ImageFile
class Command(BaseCommand):
"""Make some projects for demo data"""
def handle(self, *args, **options):
# Delete all projects first
ProjectPage.objects.all().delete()
for i in range(10):
image_url = f'https://placedog.net/640/480?random'
home_page = HomePage.objects.first()
response = requests.get(image_url)
image = CustomImage(title=f'image {i}', file=ImageFile(BytesIO(response.content), name=f'filename_here{i}'))
image.save()
page = ProjectPage(title=f"Project {i}", body="<p>Hello world</p>", listing_image=image)
home_page.add_child(instance=page)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment