3

私は今、多くのことを試し、何時間もグーグルで検索しましたが、問題を解決できませんでした.

構成ファイル:

[/] 
tools.staticdir.root = "/Users/phil/Dropbox/Projects/AppName" 

[/main.css] 
tools.staticfile.on = True 
tools.staticfile.filename = "/Users/phil/Dropbox/Projects/AppName/css/main.css" 

[/images] 
tools.staticdir.on = True 
tools.staticdir.dir = "images" 

チェリーパイコード:

import cherrypy, os
class AppName(object):
def index(self):
    return "<img src='images/logo.jpeg'>"
index.exposed = True

cherrypy.config.update('/Users/phil/Dropbox/Projects/AppName/conf/AppName.config')
cherrypy.quickstart(AppName())

私の問題は、それが機能しないことです。パスなどを組み合わせてすべてを試しましたが、return のような sth を実行すると、画像と css が読み込まれません '"

アプリケーションをロードするときに表示されるエラーは次のとおりです。

127.0.0.1 - - [24/May/2012:22:28:47] "GET /images/logo.jpeg HTTP/1.1" 404 1268 "http://localhost:8080/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.46 Safari/536.5"
4

4 に答える 4

7

問題が何であるかはわかりませんが、これは機能します:

[/]
tools.staticdir.root = "/Users/phil/Dropbox/Projects/AppName"

[/images]
tools.staticdir.on = True
tools.staticdir.dir = "images"

アプリを起動:

cherrypy.quickstart(AppName(), '/', 'AppName.config')

チェリーパイコード:

def index(self):
    return "<img src='/images/logo.jpeg'>"
index.exposed = True

画像の前の / も重要だと思います。ありがとうございます

于 2012-05-29T08:58:26.223 に答える
4

Cherrypy マニュアルのServing Static Contentセクションを見て、それが役立つかどうかを確認してください。

別の方法として、以前に静的コンテンツを配信するために使用したものを次に示しますmain()

conf = {
        '/':
        {'tools.staticdir.root': os.path.dirname(os.path.abspath(__file__))},
          '/css': {
          'tools.staticfile.on': True,
          'tools.staticfile.filename': os.path.join(os.path.dirname(os.path.abspath(__file__)), 'css/')
        }
      }
cherrypy.quickstart(AppName(), config=conf)
于 2012-05-24T20:56:22.673 に答える
3

これを構成ファイルに追加します。

[/]
tools.staticdir.debug: True
log.screen: True

すぐに問題を絞り込むことができるはずです。

于 2012-05-25T15:07:13.467 に答える