Загрузка файла по полю 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
На моей локальной базе данных все работает нормально, даже на
wb.save(filename=os.path.join(MEDIA_ROOT, mp_file_path))
загрузка отлично работает с фактически той же ссылкой (x/y/files/...)
Что нужно изменить, что-то с атрибутом upload_to выполняется плохо и берет в начале другой маршрут хранения?
