如何在webpy中提供文件?
答
如果您正在运行开发服务器(不阿帕奇):
创建一个目录(也称为文件夹)调用运行web.py服务脚本的位置是静态的。然后将您想要提供的静态文件放置在静态文件夹中。
例如,URL会将图像./static/logo.png发送到客户端。
参考:http://webpy.org/cookbook/staticfiles
更新。如果你真的需要担任/
一个静态文件,你可以简单地使用重定向:
#!/usr/bin/env python
import web
urls = (
'/', 'index'
)
class index:
def GET(self):
# redirect to the static file ...
raise web.seeother('/static/index.html')
app = web.application(urls, globals())
if __name__ == "__main__": app.run()
答
我这个挣扎在过去的几个小时......呸!
发现了两个解决方案,都为我工作... 1 - 在.htaccess的ModRewrite行之前添加此行:
RewriteCond %{REQUEST_URI} !^/static/.*
这将确保请求到/静态/目录中不重写去你的code.py脚本。
2 - 在code.py添加静态处理程序,并为每个几个目录的URL条目:
urls = (
'/' , 'index' ,
'/add', 'add' ,
'/(js|css|images)/(.*)', 'static',
'/one' , 'one'
)
class static:
def GET(self, media, file):
try:
f = open(media+'/'+file, 'r')
return f.read()
except:
return '' # you can send an 404 error here if you want
注 - 我偷了这起web.py谷歌组,但无法找到当发布更多!
这些无论是工作对我来说,无论是在对web.py模板和直接调用一个网页,我投入“静态”
答
我不建议与服务网络静态文件的.py。你最好配置apache或nginx。
多数民众赞成在文件只在/静态路径,我需要服务index.html请求与路径/ – codez 2011-01-20 19:26:23
@codez:更新我的答案。 – miku 2011-01-20 19:34:01
这只适用于你直接从它所在的文件夹运行web.py应用程序。如果你想运行/path/to/my/web/app.py,那么你运气不好。 – Octopus 2013-11-22 05:01:46