У меня есть следующее приложение на Python, использующее CherryPy
class Root(object):
@cherrypy.expose
def index(self):
return open('static/testing.html')
if __name__ == '__main__':
cherrypy.quickstart(Root())
, где testing.html
содержит статический контент, такой как изображения и файлы js, и, кажется, работает нормально.Но я заметил в CherryPy tutorial 6 , что он должен выглядеть больше как
class Root(object):
@cherrypy.expose
def index(self):
return open('static/testing.html')
if __name__ == '__main__':
conf = {
'/' : {
'tools.staticdir.root': os.path.abspath(os.getcwd())
},
'/static' : {
'tools.staticdir.on' : True,
'tools.staticdir.dir : './static'
}
}
cherrypy.quickstart(Root(), '/', conf)
, где основные различия заключаются в том, что я добавил переменную conf
, представляющую конфигурацию, и в этой конфигурацииУ меня есть атрибуты для tools.staticdir.root
и tools.staticdir.root
.
Какова цель этих двух атрибутов?Кроме того, почему мой код работает, даже если я не указал абсолютный путь к файлу со статическим содержимым, которое я использую?