Je voudrais créer un bouton qui lors du lancement d'un script python. Ce script ouvre un fichier data.txt et le transforme en json pour que je puisse l'intégrer dans ma base de données à l'avenir. Ce que je veux faire aujourd'hui est juste de créer un bouton qui lors du clic commence le script (je vérifierais dans mes documents si le fichier json result.txt a été créé ce qui me permet de vérifier si la fonction fonctionne). Voici ce que je l'ai fait:Exécuter le script python dans le site Web Django en cliquant sur le bouton soumettre
Dans urls.py
url(r'whatever^$', views.recup_wos, name='recup_wos'),
Dans views.py
def recup_wos(request):
if request.method == 'POST':
import newscript.py
os.system('python newscript.py')
return redirect('accueil')
Modèle accueil.html
<form action='{% url recup_wos %}' method="POST">
<input value="Executer" type="submit">
</form>
Le message d'erreur est le suivant:
Reverse for '' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []
Je pense que l'erreur est principalement dans la vue, peut-être une erreur de syntaxe?
J'ai modifié mon modèle et mon affichage. Il fait le bien de redirection mais le script ne se lance pas:
def recup_wos(request):
if request.method == 'POST':
os.system('Python newscript.py')
return redirect('../page/accueil')
'Python newscript.py'' semble faux - ne devrait-il pas être' python newscript.py'? – Alasdair