我正在使用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_NameHandlers在python中不被认为是好的变量名。

09-11 18:35