[英]Not Found Error (404) with Static files when running from prompt
我最近從Windows移動到覆盆子pi為我的應用程序。 它加載至少一次,但現在在我的生活中,我無法再次加載靜態文件。
如果我從shell運行python腳本作為sudo(或沒有)我得到404所有靜態文件,動態鏈接仍然按預期工作。
如果我從IDLE運行它作為'pi'登錄它可以正常工作。
相關代碼:
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.)這很可能是路徑問題。
好消息是:修復它應該是直截了當的。 (着名的遺言。;)你應該
static_file
的root
參數,或 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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.