Загрузка файла по полю file возвращает Bad Request SuspiciousFileOperation

views.py

    if request.method == 'POST':
        form = MeasuringCodesForm(request.POST, request.FILES)
        files = request.FILES.getlist("file_field")
        if form.is_valid():
            with transaction.atomic():
                for each_file in files:
                    new_code = MeasuringCodes(file_field=each_file)
                    new_code.mediaplan = Mediaplan.objects.get(campaign=campaign_id)
                    new_code.added_by = request.user
                    new_code.save()

models.py

MEASURING_CODES_PARENT_PATH = 'measuring_codes/'


def upload_measuring_codes_direction(instance, filename):
    return os.path.join(settings.MEDIA_ROOT, MEASURING_CODES_PARENT_PATH, str(instance.mediaplan.mediaplan_octi_id),
                        filename)


class MeasuringCodes(models.Model):
    updated = models.DateTimeField(auto_now_add=True)
    mediaplan = models.ForeignKey('Mediaplan', on_delete=models.CASCADE)
    added_by = models.ForeignKey('User', on_delete=models.PROTECT)
    file_field = models.FileField(upload_to=upload_measuring_codes_direction)

settings.py

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

MEDIA_URL = '/files/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'files')

И при загрузке я получаю плохой запрос Обнаружена попытка обхода пути в '/x/y/files/measuring_codes/6RvVqvgp_L9cS/20220311124341089314_0'

nginx.conf

enter image description here

На моей локальной базе данных все работает нормально, даже на

wb.save(filename=os.path.join(MEDIA_ROOT, mp_file_path))

загрузка отлично работает с фактически той же ссылкой (x/y/files/...)

Что нужно изменить, что-то с атрибутом upload_to выполняется плохо и берет в начале другой маршрут хранения?

Вернуться на верх