我最近将我的应用程序从Windows移到了raspberry pi。它至少加载了一次,但现在我一生都无法再次加载静态文件。
如果我以sudo(或不带sudo)的身份从shell运行python脚本,则所有静态文件都得到404,动态链接仍会按预期工作。
如果我从以“ pi”身份登录的IDLE中运行它,则可以正常工作。
相关代码:
from bottle import route, run, get, request, static_file
@get('/pumps')
def pumpData():
return json.dumps(pump.getPumps())
# root dir
@route('/<filename>')
def server_static(filename):
return static_file(filename, root='')
# css dir
@route('/css/<filename>')
def server_static(filename):
return static_file(filename, root='css')
run(host='myip', port=2000, debug=True)
是什么原因引起的?我猜想它与权限有关,但我不知道该如何解决。
我认为这不是许可问题。(这将返回403。)最有可能是路径问题。
好消息是:修复它应该很简单。(著名的遗言。;)您应该
root
参数static_file
,或os.chdir()
之前,先调用静态文件的根目录bottle.run
。所以这:
return static_file(filename, root='/path/to/your/static/file/root')
或这个:
os.chdir('/path/to/your/static/file/root')
run(host='myip', port=2000, debug=True)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句