Das Problem:
Ich möchte eine HTML-Seite mit einem Python-Skript via CGI generieren.
Das klappt auch alles wie es soll. Leider werden aber die Bilder nicht mit angezeigt. Ja ja, das wird ein Pfad-Problem sein, aber ich sehe es nicht.
Beispiel:
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-
# /cgi-bin/test.py
import os
htmlpath = "../htdocs/htmlordner/"
print "Content-Type: text/html"
print
print os.listdir(htmlpath)
file = open(htmlpath+"test.html","r")
page = file.read()
file.close()
# page = page.replace('<img src="','<img src="'+htmlpath)
print page
Auch der Quelltext der "erzeugten" html-Datei weist dies so aus.
Rufe ich die Datei test.html direkt auf, sind die Bilder korrekt enthalten.
Testweise habe ich die oben auskommentierte Zeile mal eingefügt,
dann enthält die erzeugte html-Seite von /cgi-bin aus gesehen den gleichen Pfad wie test.html, was der Quelltext der "erzeugten" html-Datei auch ausweist, aber es funktioniert immer noch nicht.
Testweise habe ich auch mal die Bilddateien nach /cgi-bin kopiert, aber
auch das brachte keinen Erfolg.
Klar gibt es verschiedene Möglichkeiten, etwa durch absolute Pfadangaben oder einen URL das Bild zu erreichen, aber das gefällt mir nicht, weil ich dann unterscheiden muss zwischen der lokal angelegten/entwickelten Website und der auf den Webserver hochgeladenen.