You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

44 lines
1.2 KiB

from django.db import models
from base.models import BaseModel
from adminsortable.models import Sortable
from adminsortable.fields import SortableForeignKey
#from markitup.fields import MarkupField
from tinymce.models import HTMLField
class PageBase(BaseModel, Sortable):
title = models.CharField(max_length=255)
slug = models.SlugField(max_length=64)
main_image = models.ImageField(upload_to='upload/images/pages/', blank=True, null=True)
main_image_caption = models.CharField(max_length=512, blank=True)
text = HTMLField(blank=True)
template_name = "" #must be defined by subclass
class Meta(Sortable.Meta):
abstract = True
def __unicode__(self):
return self.title
def get_absolute_url(self):
return "/%s/" % self.slug
def get_dict(self):
return {
'id': self.id,
'slug': self.slug,
'title': self.title,
'main_image': self.main_image,
'main_image_caption': self.main_image_caption,
'text': self.text
}
class ContentPage(PageBase):
template_name = "contentpage.html"
class Meta(Sortable.Meta):
pass
# Create your models here.