鍍金池/ 問答/Python  網(wǎng)絡(luò)安全  HTML/ flask能加載css但是不能加載css里使用的圖標(biāo)字體

flask能加載css但是不能加載css里使用的圖標(biāo)字體

今天使用flask去加載圖標(biāo)字體時(shí),遇到了一個(gè)問題,偶然情況下找到了解決方法,一直想不通,求各位講解一番。我使用flask-bootstrap,字體使用FontAwesome。
這是我的項(xiàng)目文件:
這是我的項(xiàng)目文件

我的css文件如下:

@font-face {
font-family:'FontAwesome';
src:url(../fonts/fontawesome-webfont.eot-v=4.1.0);
src:url(../fonts/fontawesome-webfont.eot-#iefix&v=4.1.0)
format('embedded-opentype'),url(../fonts/fontawesome-webfont.woff-v=4.1.0)
format('woff'),url(../fonts/fontawesome-webfont.ttf-v=4.1.0)
format('truetype'),url(../fonts/fontawesome-webfont.svg-v=4.1.0#fontawesomeregular)
format('svg');
font-weight:normal;
font-style:normal
}
.fa {
    display:inline-block;
    font-family:FontAwesome;
    font-style:normal;
    font-weight:normal;
    line-height:1;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale
}
.fa-power-off:before {
    content:"\f011"
}

我的html文件如下

{% extends "bootstrap/base.html" %}
{% block head %}
    <link rel='stylesheet' id='style-css' href="{{ url_for('static',filename='themes/style.css') }}"  type='text/css' media='all' />
{% endblock %}

{% block content %}
    <section class="container">
        <div class="speedbar">
            <div class="pull-right">
                <i class="fa fa-power-off">
                </i>
                <a href="" >
                    login
                </a>
            </div>
        </div>
    </section>
{% endblock %}

我使用url_for('static',filename='themes/style.css')去加載css文件,并且能加載使用的圖標(biāo)文件,但是我使用url_for('static',filename='themes/css/style.css')時(shí)能加載css文件,卻不能加載使用的圖標(biāo)文件,思考了很久,非常困惑,希望大家能講解一下為什么?

回答
編輯回答
若相惜

這個(gè)問題很大可能是路徑問題。從你截圖的路徑來看的話,用url_for('static',filename='themes/css/style.css') 與 url(../fonts/fontawesome-webfont.eot-v=4.1.0) ,這樣應(yīng)該不會(huì)有錯(cuò)。你可以看看,這樣用之后,用chrome檢查network中,fontawesome-webfont.eot-v=4.1.0的完整鏈接是什么,應(yīng)該能夠找到問題的原因。

2017年11月10日 15:59