2017-12-12 1 views
-1

Ich weiß, dass ähnliche Fragen schon früher gestellt wurden, und ich habe eine Menge davon gemacht, mich umzusehen.Wie kann ich ein Python-Skript in der Befehlszeile durch den Klick auf eine HTML-Schaltfläche ausführen?

Gegenwärtig mache ich ein Python-Skript, um eine HTML-Seite zu erstellen (eine Liste von Status für verschiedene Anwendungen, die wir ausführen), und dann benutze ich nginx, um den Inhalt auf einem unserer DNS zu liefern Aufzeichnungen.

Da ich nicht ständig die Python-Anwendung ausführen und große Protokolle erstellen möchte, entschied ich, die nächste beste Option wäre einfach eine HTML-Schaltfläche, die der Benutzer drücken könnte - Auslösen des Python-Skripts zum Remake des HTML Datei, und laden Sie die Seite neu.

Bevor ich auflistet, was ich versucht habe .. Ich möchte nur darauf hinweisen, dass ich eine PHP-Lösung nicht verwenden kann, da es Serverprobleme mit dem Ausführen von PHP gibt.

Zuerst habe ich versucht, einige AJAX POST und das endete zu laufen, nur für das Skript im Text angezeigt wird ..

function postData(input) { 
 
     $.ajax({ 
 
      type: "POST", 
 
      url: "/status.py", 
 
      data: { param: input }, 
 
      success: callbackFunc 
 
     }); 
 
    } 
 
    
 
function callbackFunc(response) { 
 
    // do something with the response 
 
    alert(response) 
 
} 
 
    
 
// A $(document).ready() block. 
 
$(document).ready(function() { 
 
    console.log("ready!"); 
 
    postData("Hello world") 
 
});

Dann habe ich versucht, einen Knoten-Anwendung zu erstellen und sind gekommen, zu lernen, dass nodejs Server-Seite läuft und nicht in HTML aufgerufen werden kann .. whoops.

Hier ist ein Blick auf die nginx Konfigurationsdatei

server { 
    listen 80; 

    server_name mydnsrecord.com; 

    charset UTF-8; 

    location ~ /.svn/ { deny all; } 
    location ~ /.git/ { deny all; } 

    location/{ 
    expires -1; 

    alias /path/to/index/; 
    index index.html; 

    add_header "X-UA-Compatible" "IE=edge"; 
    add_header "X-Frame-Options" "DENY"; 

    proxy_set_header  X-Real-IP   $remote_addr; 
    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header  Host    $http_host; 
    } 

    error_page 405  =200 $uri; 

} 

Wenn jemand mich in die Richtung zeigen könnte oder geben Sie mir einige Tipps, wie ich das erreichen kann, das wäre großartig.

Danke.

+0

Python läuft auch Server-Seite. Ist Ihr Webserver sogar so konfiguriert, dass er das Ausführen von Python-Skripts unterstützt? Das hört sich nicht wie ein echtes Programmierproblem an. – Herohtar

+0

Ist Kolben oder Django eine Option? Sie brauchen irgendwie einen Server, der auf einen Knopfdruck wartet, um darauf zu reagieren. – RagingRoosevelt

Antwort

Verwandte Themen