Flask學習_3

在子模板中,我們可以對父模板中的塊進行2種操作 覆蓋內容 和 追加內容。

覆蓋內容

當在子模板裏創建同名塊時,會使用子塊的內容覆蓋父塊的內容。

追加內容

如果想要向基模板中的塊追加內容,需要通過super()函數進行聲明,這會向父塊添加內容。

例如向style塊添加樣式

{% block styles %}
    {{ super() }}
    <style>
    .foo{
        color:red;
    }
    </style>
{% endblock %}

 

運行app,打開index頁面,渲染後的HTML代碼如下

可以看到子模板成功追加了style內容。

 

加載靜態文件

一個Wen項目往往有很多靜態文件,如CSS,Javascript文件、img等等。在Flask中默認我們把需要的靜態文件存儲在與主腳本同級的static文件夾裏。

爲了在HTML中引用靜態文件,我們需要用url_for()函數來獲取靜態文件的URL。Flask內置了用於獲取靜態文件的視圖函數,端點值爲static,它的默認URL規則爲static/<path:filename>,URL變量filename是相對於static文件夾根目錄下的文件路徑。

在index.html文件{% content %}內添加

<img src="{{ url_for('static',filename='cat.jpg') }}">

運行app打開index頁面

小喵咪出現~

在模板中添加以下代碼,加載CSS文件

<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='styles.css') }}">

注意不要添加錯了,一般添加到基模板或者其他要渲染成HTML的文件裏,之前沒注意添加到子模板裏結果向子模板加載了css文件,結果頁面沒變化。

 

添加Favicon

我們經常會在命令行看到一個404狀態的GET請求,請求的URL爲/favicon.ico

也就是這個紅色的圖標。也可以叫做網站頭像。

要想添加favicon,先要把favicon圖片放置到static下。除了ico格式外PNG和不會動的GIF也行。在<head>部分下添加

<link rel="icon" type="image/x_icon" href="{{ url_for('static', filename='favicon.png') }}">

即可

一般選擇16X16的圖片比較好。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章