Python WEBPY/服务静态文件:';StaticApp对象没有属性';目录';
我在web.py应用程序上提供文件时遇到一些问题: Python 3.7 web.py版本0.40_Dev1 Eclipse光子版本(4.8.0) app.py:Python WEBPY/服务静态文件:';StaticApp对象没有属性';目录';,python,eclipse,web.py,Python,Eclipse,Web.py,我在web.py应用程序上提供文件时遇到一些问题: Python 3.7 web.py版本0.40_Dev1 Eclipse光子版本(4.8.0) app.py: import web render = web.template.render('templates/') urls = ( '/', 'index',) class index: def GET(self): return render.index() if __name__ == "__ma
import web
render = web.template.render('templates/')
urls = (
'/', 'index',)
class index:
def GET(self):
return render.index()
if __name__ == "__main__":
app = web.application(urls, globals())
app.run()
模板/index.html:
<html>
<h2>HELLO</h2> <img src = "/static/image.png">
</html>
正在尝试:(在根目录下使用图像)
返回偶然的404错误(文件应该从/static-right提供?)
和到达:localhost/static
返回“未找到”
似乎告诉我从/static文件服务的文件是由web.py自动处理的?(或者我不明白)
无论如何:我无法在我的app.py中提供任何文件
有什么帮助吗?您的代码很好,但似乎与python库有冲突 python 3.7中的http.server.SimpleHTTPRequestHandler中引入了“目录”。这是webpy的StaticApp继承自的类。但是,您的web.py编译版本似乎使用了较旧版本的SimpleHTTPRequestHandler,它没有定义
目录
。我不知道这是怎么发生的,尽管您提到您正在使用Eclipse,它(我猜)正在处理编译依赖项
我建议您清除已编译的.pyc/.pyo,然后再试一次。我最近两天才开始学习Python,所以请原谅n00b中的任何问题 在同一个问题上挣扎了一个小时左右,对为什么似乎还没有解决方案感到困惑……我有点胡思乱想,似乎能让它工作起来,直到有更正式的人提供一个真正的解决方案 有两件事要做:
server.py
<代码>/图书馆/Frameworks/Python.framework/版本/3.7/解放党/蟒蛇3.7/http 并将第820行修改如下:
path=self.directory
被修改为path=self.path
虽然这似乎消除了StaticApp对象bla-bla
错误,但在尝试加载静态内容时,我仍然有持续的404
。这让我在互联网上找到了一个小帖子,它导致了以下内容Run
来运行我的Python应用程序,而是在终端窗口中运行python3 controller.py
,其中controller.py
是我的Python MVC控制器-而且很低,看这似乎是可行的希望有人能尽快解决这个问题,当你试图学习一门新语言时,这真是一首民谣 Webpy未针对python 3.7进行更新。安装Python3.6.1为我解决了这个问题。它应该适用于任何python 3.6子版本 有一个拉取请求正在等待合并到web.py中: 从网站包中的webpy调整文件: web/httpserver.py 加: 之后:
self.start_response = start_response
现在我正在用web.py 0.40.dev1运行Python3.7.3,只是为了跟进;python3.6.7和web.py==0.40-dev1非常有魅力!
<img src = "/image.png">
self.directory = os.getcwd()
self.start_response = start_response