Kaip naudoti „cherrypy“ kaip žiniatinklio serverį statiniams failams?

Ar „CherryPy“ gali būti naudojamas kaip žiniatinklio serveris, .html failus aplanke? CherryPy įvadinė dokumentacija teigia, kad turinys yra dinamiškai generuojamas:

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

Ar lengviau naudoti „ index.html o ne „HelloWorld.index“ () metodą?

14
17 апр. grigoryvp nustatė balandžio 17 d 2009-04-17 11:54 '09, 11:54, 2009-04-17 11:54
@ 3 atsakymai

Šis paprastas kodas bus naudojamas dabartiniame kataloge.

 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() 
31
17 апр. Atsakymas duotas nosklo 17 Bal. 2009-04-17 14:53 '09, 14:53, 2009-04-17 14:53

Štai keletas informacijos apie statinio turinio naudojimą su „CherryPy“: http://docs.cherrypy.org/stable/progguide/files/static.html

Beje, čia yra paprastas būdas bendrinti dabartinį katalogą per HTTP naudojant python:

 # Python 3 $ python -m http.server [port] # Python 2 $ python -m SimpleHTTPServer [port]
7
17 апр. Atsakymas suteiktas 17 d. 2009-04-17 12:06 '09, 12:06 2009-04-17 12:06
 # 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 ) 
-1
17 апр. atsakymą pateikė grigoryvp balandžio 17 d 2009-04-17 14:48 '09, 14:48, 2009-04-17 14:48

Kiti klausimai apie etiketes arba Užduoti klausimą