разрешение на загрузку файла django3 по умолчанию составляет 420? - PullRequest
0 голосов
/ 13 апреля 2020

Я сделал функцию загрузки изображений в качестве управления покупками.

web: http://www.henojiya.net/shopping/

source: https://github.com/duri0214/Portfolio/tree/master/mysite/shopping

Теперь я решаю эту проблему. ошибка разрешения.

журнал: https://github.com/duri0214/Portfolio/issues/25

Я просматривал сообщение журнала.

FILE_UPLOAD_DIRECTORY_PERMISSIONS   
None
FILE_UPLOAD_PERMISSIONS 
420

420 ???

Я думаю, django разрешение по умолчанию - 644.

официальный документ: https://docs.djangoproject.com/en/3.0/ref/settings/#file -upload-permissions

локальная проверка загрузки в порядке! Я хочу загрузить картинку.

спасибо

add info
drwxr-xr-x. op op mysite
└drwxrwxr-x. op op shopping
 └drwxrwxr-x. op op static
  └drwxrwxr-x. op op shopping
   └drwxrwxr-x. op op img

1 Ответ

0 голосов
/ 09 мая 2020

OK! Я исправил это.

Я не знал роли "media" в "setting.py".
django хочу сохранить в '[example.com] / media', если добавить запись в 'setting.py'
Я не редактирую apache файл.

# setting.py
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'

В 'models.py', если установлен upload_to = 'shopping /', он будет сохранен как [ example.com] /media/shopping/xxx.jpg

# models.py
class Products(models.Model):
    """product"""
    code = models.CharField('code', max_length=200)
    name = models.CharField('product_name', max_length=200)
    price = models.IntegerField('product_price', default=0)
    description = models.TextField('description')
    picture = models.ImageField('picture', upload_to='shopping/')
...