Django之模組的繼承和匯入

daxuesheng發表於2021-09-11

Django之模組的繼承和匯入

模板的繼承與模板的匯入

模板的繼承:

繼承的概念我們都知道:在類裡面是直接可以使用基類中的屬性和方法,也就是直接能用,不需要自己再寫的意義。

而模板的繼承:我們需要使用一個網頁中一些固定不變的部分,再不用再自己寫或者複製的前提下,只需要寫幾段程式碼就能拿來在一個新的網頁使用,就像一個模板,模板中變化的地方我們自己指定,其他地方不變,值只變化我們指定的地方。

實現過程:

首先需要在被繼承的模板中劃分多個區域,這些區域是我們能的可變動區。

相關推薦:《》

{% block 給區域起的名字 %}
{% endblock %}
<!--通常情況下一個模板中應該至少有三塊-->
{% block css %}
  頁面css程式碼塊
{% endblock %}
{% block js %}
  頁面js程式碼塊
{% endblock %}
{% block content %}
  頁面主體內容
{% endblock %}

子板繼承模板:

{#先繼承模板所有的內容#}
        {% extends 'home.html' %}
{#然後根據block塊的名字修改指定區域的內容#}
        {% block content %}
            <h1>登入頁面</h1>
                <form action="">
                    <p>username:<input type="text" class="form-control"></p>
                    <p>password:<input type="text" class="form-control"></p>
                    <input type="submit" class="btn btn-success">
                </form>
        {% endblock %}

1562642063376025.gif

如果在一個block模板中需要保留原始的內容則可以在這個block中任意你想要的位置新增一個{{ block.super }},就可以保留原內容。

模板的匯入

將一段html當做模組的方式匯入到另一個html展示

{% include '想匯入的html檔名' %}

模板匯入與自定義inclusion_tag的區別:模板匯入的頁面內容是靜態的、不變的,而透過自定義inclusion_tag匯入的頁面檔案可以是動態的,可動性自己掌控。

補充:靜態檔案配置

{% load static %}  
    
    <link rel='stylesheet' href="{% static 'css/mycss.css'%}">  # 第一種方式
    <link rel='stylesheet' href="{% get_static_prefix %}css/mycss.css">  # 第二種方式

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4692/viewspace-2837174/,如需轉載,請註明出處,否則將追究法律責任。

相關文章