diff --git a/LandingPage/models.py b/LandingPage/models.py index 71a8362..14c9dbd 100644 --- a/LandingPage/models.py +++ b/LandingPage/models.py @@ -1,3 +1,60 @@ from django.db import models +from django.core.files.storage import FileSystemStorage +from django.conf import settings +import os + +def name_artwork(inst, name): + return '%s/artwork.%s'%(inst.abbr,name.split('.')[-1]) +def name_css(inst, name): + return '%s/style.css'%inst.abbr +def name_banner(inst, name): + return '%s/banner.%s'%(inst.abbr,name.split('.')[-1]) # Create your models here. +class Show(models.Model): + show_static_storage = FileSystemStorage(location=os.path.join(os.path.dirname(settings.MEDIA_ROOT), 'uploaded_resources'), base_url='showstatic') + name = models.CharField( + max_length=40, + help_text="The full name of the show", + verbose_name="Full Name" + ) + abbr = models.SlugField( + max_length=5, + unique=True, + help_text="A short abbreviation of the show, for use in urls", + verbose_name="Abbreviation" + ) + description = models.TextField( + help_text="A description of the show", + verbose_name="Description" + ) + release = models.DateField( + help_text="The release date of the first episode of the show", + verbose_name="Release Date" + ) + artwork = models.ImageField( + storage=show_static_storage, + upload_to = name_artwork, + help_text="The artwork associated with the show. Should display the name of the show in a movie-poster esque format. Aspect ration should be about 2:3", + verbose_name="Artwork" + ) + imdb = models.URLField( + help_text="The url of the IMDb page for this show", + verbose_name="IMDb Page" + ) + moderated = models.BooleanField( + help_text="Wheter or not this show is user-moderated", + verbose_name="User Moderated" + ) + css = models.FileField( + storage=show_static_storage, + upload_to=name_css, + help_text="The CSS stylesheet applied to this show's page", + verbose_name="Custom Style" + ) + banner = models.ImageField( + storage=show_static_storage, + upload_to = name_banner, + help_text="A banner used for the show's page.", + verbose_name="Artwork" + ) diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..a3f04e5 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +Django==1.11.4 +Pillow=4.2.1