Можно ли использовать подпроцесс для выполнения загруженного файла python в django?

#python #django #subprocess

Вопрос:

Я хочу, чтобы пользователи моей компании могли загружать скрипт на python и выполнять его. Я использую подпроцесс для выполнения сценария, но я получаю ошибки с надписью «ожидаемый str, байт или ОС.Объект, похожий на путь, а не в загруженном файле»

 def execute(request)
   if request.method == 'POST':
        if request.FILES.get('document'):
            file = request.FILES['document']
            subprocess.run(['python', file], stdout=True)
 

Комментарии:

1. «Я хочу, чтобы пользователи моей компании могли загружать скрипт на python и выполнять его». Это звучит как действительно плохая идея!

2. То, что у вас есть, — это файловый объект Django. Вы можете получить имя файла из file.name . Но как @KlausD. сказал, что это действительно плохая идея, которую легко использовать для уничтожения вашего сервера.

3. @КлаусД. это не моя идея. это идея моего босса, я думаю, он хочет использовать ее для чего-то.

4. @TimRoberts Не могли бы вы показать мне, как это делается?

5. Это РАБОТА профессионального инженера-указывать руководству, когда его просят внедрить что-то опасное. Мы не автоматы.