Statisches Routen mit bottle und Apache
Verfasst: Montag 23. Februar 2015, 20:52
Hallo zusammen,
ich habe hier ein Problem und komme nicht weiter. Anbei ein gekürztes Beispiel, mit dem ich mittels bottle eine html-Seite übergebe. Im Template "index.html" wird auf eine statische Datei referenziert, die entsprechend im Unterordner "css" liegt.
Daher habe ich entsprechende Routen per bottle erzeugt (siehe angehängtes Beispiel). Mit dem bottle-eigenen Test-Webserver
wird auch alles korrekt ausgeliefert. Wenn ich jedoch apache/wsgi nutze werden die statischen Dateien nicht ausgeliefert. Im Log vom apache taucht folgendes auf:
Offensichtlich funktionieren die Routen hier nicht mehr aber warum?
Grüße
bastel
ich habe hier ein Problem und komme nicht weiter. Anbei ein gekürztes Beispiel, mit dem ich mittels bottle eine html-Seite übergebe. Im Template "index.html" wird auf eine statische Datei referenziert, die entsprechend im Unterordner "css" liegt.
Code: Alles auswählen
<link href="css/bootstrap.min.css" rel="stylesheet">
Code: Alles auswählen
run(host='localhost', port=8080, debug=True)
wird auch alles korrekt ausgeliefert. Wenn ich jedoch apache/wsgi nutze werden die statischen Dateien nicht ausgeliefert. Im Log vom apache taucht folgendes auf:
Code: Alles auswählen
[client 127.0.0.1] File does not exist: /var/www/js, referer: http://localhost/klima
[Mon Feb 23 20:39:47 2015] [error] [client 127.0.0.1] File does not exist: /var/www/css, referer: http://localhost/klima
[Mon Feb 23 20:39:47 2015] [error] [client 127.0.0.1] File does not exist: /var/www/js, referer: http://localhost/klima
[Mon Feb 23 20:39:47 2015] [error] [client 127.0.0.1] File does not exist: /var/www/graphics, referer: http://localhost/klima
Grüße
bastel
Code: Alles auswählen
from bottle import Bottle, route, debug, template, static_file, get, run, default_app
import os
import bottle
bottle.TEMPLATE_PATH.insert(0, '/var/www/klima')
app = Bottle()
@route('/')
@route('/index.html')
def index():
return template('index.html', tmpl_dic)
@route('/verlauf.html')
def verlauf():
return template('verlauf.html')
# Statische Routen
@route('/graphics/<filename:re:>')
def server_static_files(filename):
return static_file(filename, root='./graphics')
@route('/css/<filename>')
def server_static_files2(filename):
return static_file(filename, root='./css')
@route('/js/<filename>')
def server_static_files3(filename):
return static_file(filename, root='./js')
# Nur zum Debuggen
#run(host='localhost', port=8080, debug=True)
application = default_app()