Eu criei um projeto Django para lançar uma página html que tem um botão com o nome run test
. Eu gostaria de executar um arquivo de script python hello.py
(localizado fora do projeto django) quando o botão é clicado. Eu sou muito novo neste script.
Alguém pode me ajudar com essa questão o mais rápido possível? Sua ajuda seria apreciada.
Meu projeto django consiste nos seguintes arquivos:
myapp (pasta)
- int.py
- admin.py
- models.py
- tests.py
- urls.py
- views.py
Modelos (pasta)
- index.html
Testproject (pasta)
- int.py
- urls.py
- settings.py
- views.py
- wsgi.py
- admin.py
- manage.py
O script python file-helllo.py
está localizado C:/hello.py
Respostas:
0 para resposta № 1Existem duas abordagens básicas que você pode adotar para fazer isso:
(1) Execute o script como um subprocesso (ou seja, execute um programa separado fora de seu aplicativo Django) - isso está documentado no Documentos Python sobre subprocessos. Abaixo está um breve exemplo, você precisará percorrer a documentação para entender exatamente como deseja chamar seu script (ou seja, para lidar com códigos de retorno, saída para stdout e stderr, etc)
import subprocess
subprocess.call(["python", "C:/hello.py"])
(2) Se houver uma função específica neste script que você possa chamar, então você pode adicionar o diretório que contém o script python para sys.path
e, em seguida, importe o script e chame a função relevante. Isso é detalhado neste pergunta de estouro de pilha, e seria, sem dúvida, a abordagem mais limpa (como uma nota lateral, aconselharia mover hello.py para um local mais adequado, a raiz de sua unidade C: provavelmente não é o lugar certo para armazenar scripts).
import sys
sys.path.append("C:/")
from hello import function_to_call
function_to_call()
Se você está lutando para montar a webpágina que permite que você exiba o botão e reaja ao pressionamento do botão chamando o script, seria aconselhável trabalhar com o excelente tutorial do Django escrevendo seu primeiro aplicativo Django.