簡體   English   中英

從提示符運行時,找不到靜態文件的錯誤(404)

[英]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.)這很可能是路徑問題。

好消息是:修復它應該是直截了當的。 (着名的遺言。;)你應該

  1. 指定絕對路徑作為static_fileroot參數,或
  2. 調用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM