Salut,
Je me suis mis au framework Bottle pour créer une petite interface web mais j'ai des soucis avec les chemins d'accès. La requête HTTP renvoie toujours 404 quand il demande des fichiers au serveur. Voici mon arborescence:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | +- CAT |-+ cat | |-+ interface | | |-+ views | | | |-+ asset | | | | |-- cat.png | | | | |-- background.png | | | |-+ style | | | | |-- main_page.css | | | |-- main_page.tpl | | |-- __init__.py | | |-- interface.py | |-- ... d'autre fichiers *.py pas important pour mon problème |-- main.py |
… mon CAT/cat/interface/interface.py
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | #!/usr/bin/env python3 # coding: utf-8 import os import bottle from bottle import Bottle, view DIRECTORY = os.path.dirname(__file__) # Pour tester si ça venait du cwd, apparemment non os.chdir(DIRECTORY) bottle.debug = True bottle.TEMPLATE_PATH = [DIRECTORY + '/views'] class CatInterface(Bottle): def __init__(self): super().__init__() @self.route('/') @view('main_page') def main_page(): pass def run(self, host='localhost', port=8080, **kwds): super().run(host=host, port=port, **kwds) |
… mon CAT/cat/interface/views/main_page.tpl
:
1 2 3 4 5 6 7 8 9 10 11 12 | <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>CAT</title> <link rel="stylesheet" href="style/main_page.css" /> </head> <body> <img src="asset/cat.png" alt="cat.png"> </body> </html> |
… et finalement mes messages lorsque j'accède à localhost:8080
:
1 2 3 | 127.0.0.1 - - [17/May/2015 20:23:09] "GET / HTTP/1.1" 200 259 127.0.0.1 - - [17/May/2015 20:23:09] "GET /asset/cat.png HTTP/1.1" 404 746 127.0.0.1 - - [17/May/2015 20:23:09] "GET /style/main_page.css HTTP/1.1" 404 758 |
Alors, que j'explique un peu (désolé si je vous donne le code en tas), quand je lance l'application avec CatInterface().run()
depuis CAT/main.py
, mon stylesheet et mon image ne sont pas reconnus. J'ai essayé de remplacer les chemis d'accès de mon template (lignes 6 et 10) par tout ce qui était imaginable, y compris par des chemins absolus, mais rien n'y fait, je ne parviens pas à appliquer un style à mon template ni à afficher mon image. Je vous consulte donc pour savoir comment Bottle fonctionne, dans quel directory l'application est-elle lancée ? Et donc quel chemin d'accès dois-je préciser pour mon template ?
Merci beaucoup,
AZ.
Edit: Mise en page