Heim  >  Fragen und Antworten  >  Hauptteil

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 Tage vor946

Antworte allen(4)Ich werde antworten

  • 高洛峰

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

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

    就是把static路径写到PYTHONPATH

    Antwort
    0
  • 伊谢尔伦

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

    你的根目录应该不是app吧,应该是app上面那一级吧,url_for是项目根目录下的static

    Antwort
    0
  • PHP中文网

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

    url_for加入_external=True才是绝对引用。

    Antwort
    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>
    
    

    Antwort
    0
  • StornierenAntwort