18

.htmlあるフォルダにファイルを表示するWebサーバーとしてCherryPyを使用する簡単な方法はありますか? すべての CherryPy 入門ドキュメントには、コンテンツが動的に生成されると記載されています。

import cherrypy
class HelloWorld(object):
    def index(self):
        return "Hello World!"
    index.exposed = True
cherrypy.quickstart(HelloWorld())

index.htmlHelloWorld.index() メソッドの代わりに使用する簡単な方法はありますか?

4

4 に答える 4

35

この単純なコードは、現在のディレクトリのファイルを提供します。

import os
import cherrypy

PATH = os.path.abspath(os.path.dirname(__file__))
class Root(object): pass

cherrypy.tree.mount(Root(), '/', config={
        '/': {
                'tools.staticdir.on': True,
                'tools.staticdir.dir': PATH,
                'tools.staticdir.index': 'index.html',
            },
    })

cherrypy.quickstart()
于 2009-04-17T11:53:00.620 に答える
6

CherryPy を使用した静的コンテンツの提供に関する情報を次に示します: http://docs.cherrypy.org/stable/progguide/files/static.html

ところで、これは現在のディレクトリを HTTP 経由で python と共有する簡単な方法です。

# パイソン 3
$ python -m http.server [ポート]

# パイソン 2
$ python -m SimpleHTTPServer [ポート]
于 2009-04-17T09:06:31.317 に答える
0
# encode: utf-8

import cherrypy
WEB_ROOT = "c:\\webserver\\root\\"

class CServer( object ) :
    @cherrypy.expose
    def do_contact(self, **params):
        pass

cherrypy.server.socket_port = 80
# INADDR_ANY: listen on all interfaces
cherrypy.server.socket_host = '0.0.0.0'
conf = { '/':
  { 'tools.staticdir.on' : True,
    'tools.staticdir.dir' : WEB_ROOT,
    'tools.staticdir.index' : 'index.html' } }
cherrypy.quickstart( CServer(), config = conf )
于 2009-04-17T11:48:02.957 に答える
0

受け入れられた回答の解決策が古くなっているため、この新しい回答を投稿します。この単純なコードは、現在のディレクトリのファイルを提供します。

import os
import cherrypy

PATH = os.path.abspath(os.path.dirname(__file__))
class Root(object): pass

cherrypy.tree.mount(Root(), '/', config={
        '/': {
                'tools.staticdir.on': True,
                'tools.staticdir.dir': PATH,
                'tools.staticdir.index': 'index.html',
            },
    })

cherrypy.engine.start()
cherrypy.engine.block()

もちろん、これはすでに投稿されたものの要約にすぎません。

于 2021-01-06T14:06:35.553 に答える