Тот факт, что ваш код Matlab упакован как Jars, может не сильно помочь, по крайней мере, с чистым Python.
Есть несколько способов взять код, написанный на Java, и представить его на Python.
Jython
Если вы готовы дать Jython шанс, это может быть действительно простой способ предоставить интерфейс Django вашим банкам.
По сути, вам нужно написать обычное приложение Django, а также использовать Jython для работы с вашими Jars. Это может быть лучшим из двух миров, если вы не привязаны к CPython.
Джанго-Jython
Интерфейсы совместимости с Java
В CPYTHON любой из следующих проектов поможет вам работать с кодом в ваших файлах Jar:
- JCC : создайте модуль расширения Python, который обернет ваш файл Jar
- JPype : Предоставляет API для запуска JVM и вызова кода, выполняемого в этой JVM из Python.
Отдельный процесс:
Если у вас есть отдельная программа, написанная на Matlab (на самом деле на любом языке), вы можете выполнить ее как дочерний процесс вашего приложения Django. Вы бы посмотрели на простую веб-форму в Django, которая позволяла вам отправлять значения для ввода в этот процесс, а затем, по вашему мнению (после проверки формы), вы делали что-то вроде:
command = "mymatlabprogram.exe %s"%(arg1,)
process = subprocess.Popen(command.split())
stdout, stderr = process.communicate()
Предполагая, что это сработало, вы можете извлечь ответы из stdout или сообщения об ошибках из stderr. Вы можете передать изображение, созданное этим процессом, и т. Д. Когда что-то подобное сработает, вы можете заглянуть в celeryd, чтобы извлечь подпроцесс из вашего веб-приложения.
Преимущество работы с отдельным процессом состоит в том, что вы изолируете ошибки в своем коде Matlab от взлома вашего веб-приложения и наоборот. Недостатком является необходимость сериализации всего и многократной работы между браузером клиента и вашим веб-приложением, между веб-приложением и исполняемым файлом и обратно клиенту.