首頁  >  問答  >  主體

python flask 静态资源404问题

flask 起的本地服务,static 文件夹里面的css 一直是404

template 里面引用的代码如下:

{% block head %}
    {{ super() }}
    <link rel="stylesheet" href="{{ url_for('static', filename='css/base.css') }}">
    <link rel="stylesheet" href="{{ url_for('static', filename='css/cms.css') }}">
{% endblock %}

目录如下:

报错如下:

so上找了很久,都没有结果,求大神救救俺

ringa_leeringa_lee2742 天前943

全部回覆(4)我來回復

  • 高洛峰

    高洛峰2017-04-18 09:45:20

    template裡面的引用是相對引用, 又沒指明static的路径, 当然还是404, 所以用之前把static目录位置source一下

    就是把static路径写到PYTHONPATH

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:45:20

    你的根目錄應該不是app吧,應該是app上面那一級吧,url_for是專案根目錄下的static

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-18 09:45:20

    url_for加入_external=True才是絕對引用。

    回覆
    0
  • 阿神

    阿神2017-04-18 09:45:20

    自己拿編了個路由測試,沒有發現這樣的問題嘛....
    樓主是不是把HTML裡面其他代碼貼了看下

    另外要問一下,樓主如果把css檔案放在static資料夾下,能運作成功嗎?

    @main.route('/test')
    def test():
        return render_template('test.html')
        

    test.css放在static/test資料夾下

    * {
        color: red;
    }
    

    html檔這裡這麼寫

    <!DOCTYPE html>
    <head>
    <link rel="stylesheet" type="text/css" href="{{url_for('static',filename='test/test.css')}}" >
    </head>
    
    <p>Test it</p>
    
    

    回覆
    0
  • 取消回覆