Created
June 25, 2020 21:35
-
-
Save kevinhowbrook/db3548a587ee9e72ea4d1b229e05d351 to your computer and use it in GitHub Desktop.
wagtail management command for pages with images
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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