from django.conf import settings from django.core.files.images import ImageFile from django_images.models import Thumbnail from taggit.models import Tag from core.models import Pin, Image from users.models import User TEST_IMAGE_PATH = 'logo.png' def create_user(username): user, _ = User.objects.get_or_create( username='user_{}'.format(username), defaults={ "email": 'user_{}@example.com'.format(username) } ) user.set_password("password") user.save() return user def create_tag(name): return Tag.objects.get_or_create( name='tag_{}'.format(name), slug='tag_{}'.format(name), ) def create_image(): image = Image.objects.create(image=ImageFile(open(TEST_IMAGE_PATH, 'rb'))) for size in settings.IMAGE_SIZES.keys(): Thumbnail.objects.get_or_create_at_size(image.pk, size) return image def create_pin(user, image, tags): pin = Pin.objects.create(submitter=user, image=image) pin.tags.set(*tags) return pin