如何将cherrypy用作静态文件的Web服务器?

gri*_*yvp 16 python cherrypy

是否可以轻松地将CherryPy用作将.html在某个文件夹中显示文件的Web服务器?所有CherryPy入门文档都声明内容是动态生成的:

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

是否有任何简单的方法来index.html代替HelloWorld.index()方法?

nos*_*klo 33

这个简单的代码将提供当前目录中的文件.

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()
Run Code Online (Sandbox Code Playgroud)

  • 使用CherryPy 3.2,我必须在提供内容之前将`cherrypy.quickstart()`更改为`cherrypy.engine.start()`和`cherrypy.engine.block()`. (8认同)

cod*_*ape 7

以下是使用CherryPy提供静态内容的一些信息:http://docs.cherrypy.org/stable/progguide/files/static.html

顺便说一下,这是一个通过HTTP与python共享当前目录的简单方法:

# Python 3
$ python -m http.server [port]

# Python 2
$ python -m SimpleHTTPServer [port]