/ / Como executar um programa python por um clique de botão na página html gerada por django - django, python-2.7

Como executar um programa python clicando em um botão na página html gerada pelo django - django, python-2.7

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 № 1

Existem 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.pathe, 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.