Seite 1 von 1
Bottle and "local" libs (js, css)?
Verfasst: Freitag 14. August 2015, 13:28
von gNeandr
Um in einem bottle basierenden Projekt für die html Seiten andere Librarys zu laden, versuche ich es mit den folgenden Befehlen auf der entsprechenden template.tpl Seite:
Code: Alles auswählen
<link rel="stylesheet" type="text/css" href="static/bootstrap-clockpicker.min.css">
<script src="static/bootstrap-clockpicker.min.js"></script>
Dabei habe ich die folgende Verzeichnis Struktur:
Code: Alles auswählen
meinProject
|_____meinPython.py
|_____dasTemplate.tpl
|_____static
|_______bootstrap-clockpicker.min.css
|_______bootstrap-clockpicker.min.js
Leider bekomme ich auf der FX console:
GET http://192.168.178.xx:yyyy/static/bootstrap-clockpicker.min.css [HTTP/1.0 404 Not Found 32ms]
GET http://192.168.178.xx:yyyy/static/bootstrap-clockpicker.min.js [HTTP/1.0 404 Not Found 45ms]
Was mache ich falsch?
Re: Bottle and "local" libs (js, css)?
Verfasst: Freitag 14. August 2015, 14:07
von Sirius3
@gNeandr: wohin wir denn Dein meinProject/static-Verzeichnis hingemappt? Zeig doch man Deinen Python-Code dazu.
Re: Bottle and "local" libs (js, css)?
Verfasst: Freitag 14. August 2015, 14:26
von gNeandr
Ich denke weiterer Code hilft nicht wirklich weiter.
Die geposteten beiden Zeilen sind im tpl, also werden mit dem Header des html files geladen. Und dies schlägt fehl, siehe console.
Die Frage ist doch wo müssen die js, css libs gespeichert werden und wie ist der Befehl im tpl bzw. Html file.
Re: Bottle and "local" libs (js, css)?
Verfasst: Freitag 14. August 2015, 14:45
von Sirius3
@gNeandr: das hat nichts mit html oder Templates zu tun. Du mußt bottle in Python sagen, wo es die static-Dateien bereitstellen soll, bzw. wenn Du einen eigenen Webserver verwendest, mußt Du ihn entsprechend konfigurieren.
Re: Bottle and "local" libs (js, css)?
Verfasst: Freitag 14. August 2015, 15:20
von gNeandr
Ja und das ist genau mein Problem. Ich bin auf der Suche nach der notwendigen Notierung in der tpl oder dem py und der daraus sich ergebenden File Struktur.
Hoffe da kann jemand helfen, direkt oder per link. Mit suchen/goggle komme ich da nicht weiter.
Re: Bottle and "local" libs (js, css)?
Verfasst: Freitag 14. August 2015, 15:28
von Hyperion
gNeandr hat geschrieben:
Hoffe da kann jemand helfen, direkt oder per link. Mit suchen/goggle komme ich da nicht weiter.
http://lmgtfy.com/?q=bottle+static+files
Und dann verweist direkt der erste Link auf die Doku, in der man leicht folgenden Abschnitt findet:
http://bottlepy.org/docs/dev/tutorial.h ... atic-files

Re: Bottle and "local" libs (js, css)?
Verfasst: Freitag 14. August 2015, 16:16
von gNeandr
@Hyperion
Danke für den Link.
Ich habe jetzt im meinPython.py Programm eingefügt:
Code: Alles auswählen
@route('/static/bootstrap-clockpicker.min.css')
@route('/static/bootstrap-clockpicker.min.js')
def server_static(filename):
return static_file(filename, root='/home/pi/meinProject/')
und im tpl/html
Code: Alles auswählen
<link rel="stylesheet" type="text/css" href="static/bootstrap-clockpicker.min.css">
<script src="static/bootstrap-clockpicker.min.js"></script>
... geht aber leider nicht. Die Versuche "static" im py unterzubringen mit
Code: Alles auswählen
return static_file(filename, root='/home/pi/meinProject/static')
und nicht im tpl/html geht auch nicht.
Leider ist da das Tutorial nicht klar ... at least für mich, SORRY.
Re: Bottle and "local" libs (js, css)?
Verfasst: Freitag 14. August 2015, 16:20
von Sirius3
@gNeandr: so wie es in der Dokumentation steht, hast Du's aber nicht versucht
Code: Alles auswählen
@route('/static/<filename>')
def server_static(filename):
return static_file(filename, root='/home/pi/meinProject/static')
und im Template:
Code: Alles auswählen
<link rel="stylesheet" type="text/css" href="/static/bootstrap-clockpicker.min.css">
<script src="/static/bootstrap-clockpicker.min.js"></script>
[Solved]: Bottle and "local" libs (js, css)?
Verfasst: Freitag 14. August 2015, 21:11
von gNeandr
@sirius3, @Hyperion
Danke für eure Geduld. Nach vielen verschiedenen Versuchen, Frust und einer längeren Atempause stellt sich heraus, dass der Befehl für
in meiner Konfiguration unvollständig war. Da ich bottle starte mit
muss es natürlich heißen:
... die übliche Situation, wenn man nicht das ganze sieht.
Nichts für ungut!