Суть в том, что мне нужно написать новостной блог, в котором будут размещаться статьи. В статью могут быть вставлены фотографии. Вопрос - как хранить фотографии в бд и каким образом реализовать загрузку этих фото в шаблон? (хранить тег img вместе с текстом статьи не вариант)
class News(models.Model):
title = models.CharField(u'заголовок', max_length=200)
image = models.ImageField(u'изображение', upload_to='images/%Y/%m/%d/', max_length=250)
text = models.TextField(u'текст')
Владимир, извините, если вопрос покажется вам глупым, но разве один ImageField не будет хранить лишь одну фотографию? Когда в статье возможно несколько фотографий, либо нет вообще.
cromvvell, без проблем. Используем связь один-ко-многим:
class News(models.Model):
title = models.CharField(u'заголовок', max_length=200)
text = models.TextField(u'текст')
class Image(models.Model):
news = models.ForeignKey(News, on_delete=models.CASCADE)
image = models.ImageField(u'изображение', upload_to='images/%Y/%m/%d/', max_length=250)
cromvvell, на место %Y %m %d в момент сохранения подставляются текущие год, месяц и день соответственно. Таким образом не случается ситуации, когда тысячи файлов скапливаются в одном каталоге. Ещё раз намекну, что это основы основ, которые прекрасно освещены в документации и куче статей даже на русском языке.