我使用的是webpy framefork。我想为其中一个请求提供静态文件。在webpy框架中有没有特殊的方法,或者我只需要读取并返回文件?
发布于 2012-02-23 09:36:55
在过去的几个小时里我一直在挣扎着...真讨厌!
我找到了两个对我都有效的解决方案。1-在.htaccess中,在ModRewrite行之前添加以下行:
RewriteCond %{REQUEST_URI} !^/static/.*
这将确保对/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 google群里偷走了这篇文章,但是再也找不到那篇该死的帖子了!
这两种方法都适用于我,无论是在web.py的模板中,还是直接调用我放入“静态”中的网页时都是如此。
发布于 2012-02-23 14:31:43
我不推荐使用web.py提供静态文件。你最好为它配置apache或nginx。
发布于 2018-08-12 07:34:47
其他的答案对我都不起作用。您可以首先在app.py中加载html文件,或者甚至在app.py中编写html。然后,您可以让index类的GET方法返回静态html。
index_html = '''<html>hello world!</html>'''
class index:
def GET(self):
return index_html
https://stackoverflow.com/questions/4751508
复制相似问题