2009-08-18 16 views
1

Ich bin neu in Python und CGI, also kann dies trivial sein. Aber ich möchte, dass Python einen HTML-Block erzeugt, wenn ein Besucher eine Seite lädt.HTML-Schnipsel von Python

<html> 
<body> 
<!-- Beautiful website with great content --> 

<!-- Suddenly... --> 
<h1> Here's Some Python Output </h1> 
<!-- RUN PYTHON SCRIPT, display output --> 

</body> 
</html> 

einen Python-Skript, das aus Gründen der Einfachheit, etwa wie folgt aussieht:

#!/usr/bin/python 
print "Content-type: text/html" 
print 
print "<p>Hello world!</p>" 

meisten Ressourcen ich in der Lage war zu finden zeigen, wie eine ganze Webseite, um einen Python-Skript. Können Sie ein Python-Skript mitten auf der Seite aufrufen, um nur ein HTML-Snippet zu erstellen?

+0

Was ist mit Menschen, die Python-Skripte auf hässlichen Websites mit trivialem Inhalt ausführen möchten? –

+0

Via IFrame oder AJAX –

+0

Wie könnten Sie sogar ein Python-Skript "mod-page" ausführen? Was bedeutet das überhaupt? Versuchen Sie, CGI als großes Shell-Skript mit kleinen Python-Teilen auf dem Shell-Skript zu schreiben? Warum es so komplex machen? –

Antwort

3

Verwenden Sie die AJAX-Clientseite oder die Vorlagenserverseite.

Eine Vorlage ermöglicht es Ihnen, den größten Teil Ihrer Seite statisch zu halten, aber verwenden Sie eine serverseitige Skriptsprache (wie Python), um die dynamischen Bits zu füllen. Es gibt viele gute Posts auf Python-Vorlagensystemen auf Stackoverflow. Here's one

Mit AJAX können Sie eine Seite aktualisieren, nachdem sie ursprünglich mit Ergebnissen von einem Server geladen wurde.

+0

Ja, Python ist nicht PHP. Einbetten von Code in HTML ist ein schlechter Stil und der schnelle Weg zu Wartungs-Albträumen. – mikl

+0

Danke für den Rat an alle. AJAX scheint ein guter Anfang zu sein. Ähnliche Beispiele für Interessierte: http://www.degraeve.com/reference/simple-ajax-example.php – Derek