Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 11, 2012 01:57:47

SergeyMiracle
Зарегистрирован: 2012-10-11
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

Загрузка файлов

Вообщем начал учить джангу, прочел пару книг, опробовал примеров различных, ну и подумал, что стоит начать писать самому, так лучше учится… Дошел до такого вроде бы не хитрого дела, как загрузка файлов, и получилась интересная шляпа, файлы грузятся, причем создается еще и уменьшенная копия (грузим картинки), все бы хорошо, но грузит он их не туда, и соответственно в админке получается битая ссылка. Интересно, что статику и медиа я настроил, админка свои 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')

Должен по идее грузить в имя_проекта/files/media/photos, а путь загрузки на самом деле получается - имя_проекта/папка_с_файлом_settings.py/files/media/.
Где напортачил не пойму, по всем примерам правильная настройка.
Может ему надо сказать куда грузить точнее и как это осуществить?

Офлайн

#2 Окт. 11, 2012 08:20:48

barabansheg
От:
Зарегистрирован: 2011-10-16
Сообщения: 114
Репутация: +  2  -
Профиль   Отправить e-mail  

Загрузка файлов

Вроде тут:

MEDIA_ROOT = os.path.join(_PATH, 'files', 'media')
Поменяй местами “files” и “media”



Fidonet. Nod 2:5034/10. Идет набор. Подробности в личку.
Мой блог

Офлайн

#3 Окт. 11, 2012 13:44:01

SergeyMiracle
Зарегистрирован: 2012-10-11
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

Загрузка файлов

местами зачем менять? чтоб путь был не /files/media, а такой /media/files/? Смысл Прикол в том, что сохрание файлов идет не туда. Напишу полные пути. Перво - это путь в который должен сохранять, и по настройке все запросы ведут именно сюдаvar/www/clients/client1/web3/miraclecnc/files/media/, но на самом деле сохраняет файлы по этому пути - /var/www/clients/client1/web3/miraclecnc/miraclecnc/files/media/
Вот и вопрос, почему ищет по настройкам, а сохраняет фиг знает по какому принципу?

Офлайн

#4 Окт. 11, 2012 14:13:40

SergeyMiracle
Зарегистрирован: 2012-10-11
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

Загрузка файлов

Код 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()

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version