Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вопрос по cherrypy 
:(
    Опции темы
Securelord
Дата 15.4.2007, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 17.5.2006

Репутация: нет
Всего: нет



Вопрос - в нижеописаном скрипте нужно отобразить картинку.
Версия cherrypy - 3.0.1

config(cfg.conf):

Код

[global]
static_filter.root = "полный путь"
           
[/img]
static_filter.on = True
static_filter.file = "полный путь"
           
[/static]
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()



Сам сервер стартует, но картинка не отображается.

В чем бок?

Это сообщение отредактировал(а) setq - 16.4.2007, 08:00
PM MAIL   Вверх
Artemios
Дата 16.4.2007, 00:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 405
Регистрация: 14.8.2006
Где: Саратов, Россия

Репутация: нет
Всего: 50



Подцепляю картинки двумя разным способами (img01.jpg и img02.jpg), вроде все работает
(код почти идентичен стандартным примерам cherrypy, чуть-чуть переделал):
Код

#! /usr/bin/env python
# -*- coding: utf-8 -*-

import cherrypy
from cherrypy.lib import cptools
import os

localDir = os.path.dirname(__file__)
absDir = os.path.join(os.getcwd(), localDir)

class Page:
      @cherrypy.expose
      def img02(self):
          path = os.path.join(absDir, "img02.jpg")
          return cptools.serveFile(path, "application/x-download","attachment", os.path.basename(path))

      @cherrypy.expose
      def index(self, **attr):
          return '''
        <html>
        <head>
        <meta http-equiv='Content-Type' content='text/html;charset=utf-8' />
        <title>Images Example</title>
        </head>
        <body>
        Hello CherryPy! <br />
        <img src='/img01.jpg' /> <br />
        <img src='/img02' /> <br />
        </body>
        </html>
          '''

cherrypy.root = Page()

if __name__ == '__main__':
    cherrypy.config.update({
        'global': {
            'staticFilter.on': False,
            'server.logToScreen': True,
            'server.environment': 'production',
            'server.socketPort': 8080,
            'sessionFilter.on': True,
        },
        '/img01.jpg': {
            'staticFilter.on': True,
            'staticFilter.file': os.path.join(os.getcwd(), 'img01.jpg'),
        },
    })
    
    cherrypy.server.start()



P.S. 
Securelord, используй теги и подсветку при вставке кода (Код->Python)

Это сообщение отредактировал(а) Artemios - 16.4.2007, 01:09


--------------------
fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ]
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Веб-разработка и фреймворки | Следующая тема »


 




[ Время генерации скрипта: 0.1058 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.