Форум сайта python.su
Вообщем начал учить джангу, прочел пару книг, опробовал примеров различных, ну и подумал, что стоит начать писать самому, так лучше учится… Дошел до такого вроде бы не хитрого дела, как загрузка файлов, и получилась интересная шляпа, файлы грузятся, причем создается еще и уменьшенная копия (грузим картинки), все бы хорошо, но грузит он их не туда, и соответственно в админке получается битая ссылка. Интересно, что статику и медиа я настроил, админка свои css и прочие файлы прекрасно видит, и ссылка на загруженный файл вроде такая как надо, а положил он его вообще не в ту папку. Перейдем к коду:
вот настройка статики
_PATH = os.path.abspath(os.path.dirname(__file__)) MEDIA_ROOT = os.path.join(_PATH, 'files', 'media') MEDIA_URL = '/media/' STATIC_ROOT = os.path.join(_PATH, 'files', 'static') STATIC_URL = '/static/'
class Photo(models.Model): category = models.ForeignKey(PhotoCategory) name = models.CharField(verbose_name='Название', max_length=50) order = models.IntegerField(verbose_name='Порядок отображения', blank=True, null=True) image = models.ImageField(verbose_name='Изображение', upload_to='photos')
Офлайн
Вроде тут:
MEDIA_ROOT = os.path.join(_PATH, 'files', 'media')
Офлайн
местами зачем менять? чтоб путь был не /files/media, а такой /media/files/? Смысл Прикол в том, что сохрание файлов идет не туда. Напишу полные пути. Перво - это путь в который должен сохранять, и по настройке все запросы ведут именно сюда
var/www/clients/client1/web3/miraclecnc/files/media/, но на самом деле сохраняет файлы по этому пути - /var/www/clients/client1/web3/miraclecnc/miraclecnc/files/media/
Вот и вопрос, почему ищет по настройкам, а сохраняет фиг знает по какому принципу?
Офлайн
Код wsgi файла
import os import os.path import sys path = '/var/www/clients/client1/web3/miraclecnc/' if path not in sys.path: sys.path.append(path) os.environ['DJANGO_SETTINGS_MODULE'] = 'miraclecnc.settings' import django.core.handlers.wsgi application = django.core.handlers.wsgi.WSGIHandler()
Офлайн