Найти - Пользователи
Полная версия: вопрос по cherrypy
Начало » Web » вопрос по cherrypy
1
securelord

import cherrypy

class Home:
def index(self):
return ‘'’
<img src=“путь к файлу картинки” >
‘'’
index.exposed = True

root = Home()
cherrypy.tree.mount(root)

if __name__ == ‘__main__’:
import os.path
cherrypy.server.quickstart()
cherrypy.engine.start()


С помощью это приложения я хочу получит страницу с изображением, но получаю ошибку:

NotFound: (404, “The path ‘путь к файлу картинки’ was not found.”)

В чем проблема?
OlDer
Проблема в том что нужно или написать еще один метод, который будет обслуживать ‘путь к файлу картинки’ или объяснить cherrypy что этот путь нужно обрабатывать как статический: http://www.cherrypy.org/chrome/common/2.2/docs/book/chunk/ch03.html#id3481832

Кстати, действительно, почему не использовать TurboGears? Тот же cherrypy, но к нему в довесок еще куча всяких удобств. На голом cherrypy писать намного сложнее…
Mkdir
Во-первых, какая версия cherrypy?
Во-вторых, нужно настроить директорию со статическими данными (css, картинки, javascript).

В своем главном конфиге пропиши:
tools.staticdir.root = “абсолютный путь к директории со статическим контентом”


Обычно я называю директорию со статическим контентом как - static.
В ней создаю папки: img, css и js

А затем в конфиге приложения я обычно делаю так:

tools.staticdir.on = True
tools.staticdir.dir = “css”


tools.staticdir.on = True
tools.staticdir.dir = “js”


tools.staticdir.on = True
tools.staticdir.dir = “img”


А вообще, смотреть тут: http://www.cherrypy.org/wiki/StaticContent
Да и доку неплохо было бы почитать ;)
securelord
Спасибо.
Mkdir
Да и доку неплохо было бы почитать wink
Да, грешу этим немного:)
securelord
Вопрос остается в силе.
Mkdir
Версия cherrypy - 3.0.1

config(cfg.conf):


static_filter.root = “полный путь”


static_filter.on = True
static_filter.file = “полный путь”


static_filter.on = True
static_filter.dir = “полный путь”

Собственно сам скрипт:

import os.path
import cherrypy

class Root:
@cherrypy.expose
def index(self):
return “”“<html>
<head>
<title></title>

</head>
<html>
<body>
Hello world!
<img src=”./img/000229.jpg“>
</body>
</html>”“”
index.exposed = True
root = Root()
cherrypy.tree.mount(root)

if __name__ == ‘__main__’:
import os.path
cherrypy.config.update(os.path.join(os.path.dirname(__file__), ‘cfg.conf’))

cherrypy.server.quickstart()
cherrypy.engine.start()


Сам сервер стартует, но картинка не отображается.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB