我正在使用ubuntu,有一个名为“webchat”的目录,在这个目录下有4个文件:webchat.py、webchat.css、webchat.html、webchat.js。
使用tornado创建http服务器时,我将根(“/”)映射到python代码:“webchat.py”,如下所示:
import os,sys
import tornado.ioloop
import tornado.web
import tornado.httpserver
#http server for webchat
class webchat(tornado.web.RequestHandler):
def get(self):
self.write("Hello, chatter! [GET]")
def post(self):
self.write("Hello, chatter! [POST]")
#create http server
Handlers = [(r"/",webchat)]
App_Settings = {"debug":True}
HTTP_Server = tornado.web.Application(Handlers,**App_Settings)
#run http server
HTTP_Server.listen(9999)
tornado.ioloop.IOLoop.instance().start()
访问http://localhost:9999将引导我进入“webchat”处理程序(类webchat)。但是,我想用“WebChalp.Py”访问同一目录下的其他文件,那些是WebCHATC.CSS、WebCHATC.HTML和WebCHATC.JS。
这个URL给了我404:http://localhost:9999/webchat.html。
这件事有什么可能的解决办法吗?
最佳答案
TrnADO有一个默认的静态文件处理程序,但是它映射URL到/static /,如果你必须在静态/WebCHATC.CSS中访问静态文件,它会是好的吗?
如果你同意这一点,我强烈建议你用这种方法处理静态文件。
如果您希望静态文件位于根路径,请浏览Web.StaseFieldHANDER。
如果你错过了,下面是一个例子
(r"/static/(.*)", web.StaticFileHandler, {"path": "/var/www"}),
顺便说一下,
File_Name
和Handlers
在python中不被认为是好的变量名。