desperadik
@desperadik
Истина где-то рядом.

Почему не видны import'ы?

Имеются кучу приложений.
В одном из приложений в models.py:
# -*- coding: utf-8 -*-
import os
from django.conf import settings

.....
#Имеется вот такой класс для загрузки изображения

#BaseModel - абстракт (описывает только привязку к юзеру)
class Image(BaseModel): 
    def file_uploads_to(instance, filename):
        #from django.conf import settings
        #import os
        file_name = '/'.join(['dir', instance.user.id, 'image', filename])
        file_folder = os.path.join(settings.MEDIA_ROOT, 'dir/%s/image/' % instance.user.id,)
        if not os.path.exists(file_folder):
            os.makedirs(file_folder)
        return file_name

    text = models.TextField('_(Info)', max_length=1000, blank=False, null=True, default='')
    image = models.ImageField('_(Image)', upload_to=file_uploads_to, blank=True)

    class Meta:
                     .....


Пока насильно в методе file_uploads_to не импортируешь settings и os, говорит что они NoneType.

В остальных моделях других приложений работает все как положено. Из-за чего может быть такое поведение?

Модели все схожи по структуре, нигде нет никаких декоров и переопределений. Просты.
  • Вопрос задан
  • 148 просмотров
Пригласить эксперта
Ответы на вопрос 1
sim3x
@sim3x
from django.conf.settings import MEDIA_ROOT


......
        file_name = os.path.join('dir', instance.user.id, 'image', filename)
        file_folder = os.path.join(MEDIA_ROOT, 'dir', instance.user.id, 'image')
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы