У меня есть модель Django, которая должна загружать изображение в каталог мультимедиа на моем сервере через ImageField.
Я делал это раньше успешно на сервере Linux. В этом случае я изменил группу на www-data и изменил права доступа на g + w, чтобы позволить apache записывать файлы в определенную папку мультимедиа, а также в корневой каталог мультимедиа.
Когда я сохраняю модель через портал администратора и форму модели во внешнем интерфейсе моего сайта, модель проверяется. Как и ожидалось, ссылка на файл сохраняется в базе данных. Но файл не написан.
Это сбивает с толку, потому что A) он работает на моем локальном сервере и B) у меня есть другая модель, которая успешно сохраняет и записывает изображение на мой сервер. Я не могу понять, почему обе эти вещи работают, в то время как другая загрузка изображения терпит неудачу.
Вот моя модель:
class Post_Photo(models.Model):
post=models.ForeignKey(Post,blank=True,null=True)
photo=models.FileField(upload_to="post_photos")
def __unicode__(self):
return str(self.post)
Вот мой файл настроек:
MEDIA_ROOT = '/home/public_html/media'
каталог post_photos живет по адресу / home / public_html / media / post_photos. Как я уже сказал, я внес изменения в группу и разрешения, чтобы позволить серверу записывать файлы.
Опять же, когда я сохраняю модель или модель напрямую через администратора, она дает мне правильную ссылку, просто там нет файла.
Если кто-то может помочь мне решить эту проблему, я буду вечно благодарен