staticdir
您可以使用工具并在文档中使用相对 URL来实现它。后者也可以从http://和file://协议访问。
这是它的样子。
.
├── app.py
└── docs
├── a.html
├── b.html
└── index.html
应用程序.py
#!/usr/bin/env python3
import os
import cherrypy
path = os.path.abspath(os.path.dirname(__file__))
config = {
'global' : {
'server.socket_host' : '127.0.0.1',
'server.socket_port' : 8080,
'server.thread_pool' : 8,
},
'/docs' : {
'tools.staticdir.on' : True,
'tools.staticdir.dir' : os.path.join(path, 'docs'),
'tools.staticdir.index' : 'index.html',
'tools.gzip.on' : True
}
}
class App:
@cherrypy.expose
def index(self):
return '''Some dynamic content<br/><a href="/docs">See docs</a>'''
if __name__ == '__main__':
cherrypy.quickstart(App(), '/', config)
文档/index.html
<!DOCTYPE html>
<html>
<head>
<title>Docs index</title>
</head>
<body>
<p><a href='/'>Back to home page</a> (not relevant from file://)</p>
<p><a href='a.html'>See A</a></p>
<p><a href='b.html'>See B</a></p>
</body>
</html>
文档/a.html
<!DOCTYPE html>
<html>
<head>
<title>A page</title>
</head>
<body>
<p><a href='index.html'>Back to index</a></p>
<p><a href='b.html'>See B</a></p>
</body>
</html>
文档/b.html
<!DOCTYPE html>
<html>
<head>
<title>B page</title>
</head>
<body>
<p><a href='index.html'>Back to index</a></p>
<p><a href='a.html'>See A</a></p>
</body>
</html>