class Category(models.Model):
title = models.CharField(max_length=250, help_text=u'Максимум 250 символов.', verbose_name=u'Название')
slug = models.SlugField(unique=True, verbose_name=u'Ссылка')
description = models.TextField(verbose_name=u'Описание')
def get_image_path(instance, filename):
ext = filename.split('.')[-1]
filename = "%s.%s" % (uuid.uuid4(), ext)
path = 'uploads' + datetime.datetime.today().strftime('/%Y/%m/%d/')
return os.path.join(path, filename)
class Entry(models.Model):
LIVE_STATUS = 1
DRAFT_STATUS = 2
STATUS_CHOICES = (
(LIVE_STATUS, u'Отображается'),
(DRAFT_STATUS, u'Черновик'),
)
author = models.ForeignKey(User,
verbose_name=u'Автор')
categories = models.ForeignKey(Category,
verbose_name=u'Категория')
image = models.ImageField(upload_to=get_image_path,
blank=False,
help_text=u'Фотография к новости 460 на 380 пикс.',
verbose_name=u'Картинка к новости')
show_image = models.BooleanField(default=True,
help_text=u'Отображается картинка в подробном тексте новости или нет.',
verbose_name=u'Отображать в подробном тексте новости')
title = models.CharField(max_length=250,
help_text=u'Максимум 250 символов.',
verbose_name=u'Название')
slug = models.SlugField(unique_for_date='pub_date',
help_text=u'Это ссылка на новость, заполняется автоматически, только английские' +
u'буквы и дефисы.',
verbose_name=u'Ссылка')
excerpt = models.TextField(blank=True,
help_text=u'Краткое содержание новости, заполнять не обязательно.',
verbose_name=u'Кратко')
content = models.TextField(help_text=u'',
verbose_name=u'')
video = models.TextField(blank=True,
help_text=u'Код для вставки видео, заполнять не обязательно.',
verbose_name=u'Видео')
pub_date = models.DateTimeField(default=datetime.datetime.now,
verbose_name=u'Дата публикации')
featured = models.BooleanField(default=False,
verbose_name=u'Избранная новость')
status = models.IntegerField(choices=STATUS_CHOICES,
default=LIVE_STATUS,
verbose_name=u'Статус')