<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 模板繼承 ## 模板繼承 * 模板繼承可以減少頁面內容的重復定義,實現頁面內容的重用 * 典型應用:網站的頭部、尾部是一樣的,這些內容可以定義在父模板中,子模板不需要重復定義 * block標簽:在父模板中預留區域,在子模板中填充 * extends繼承:繼承,寫在模板文件的第一行 * 定義父模板base.html ```text {%block block_name%} 這里可以定義默認值 如果不定義默認值,則表示空字符串 {%%endblock} ``` * 定義子模板main.html ```text {% extends "base.html" %} ``` * 在子模板中使用block填充預留區域 ```text {% block block_name%} 實際填充內容 {%endblock%} ``` ## 說明 * 如果在模板中使用extends標簽,必須是模板中的第一個標簽 * 不能在一個模板中定義多個相同名字的block標簽 * 子模板不必定義全部父模板中的blocks,如果子模板沒有定義block,則使用了父模板中的默認值 * 如果發現在模板中大量的賦值內容,那就應該把內容移動到父模板中 * 使用可以獲取父模板中block的內容 * 為了更好的可讀性,可以給endblock標簽一個名字 ```text {% block block_name%} 區域內容 {% endblock block_name%} ``` ## 三層繼承結構 * 三層階乘結構使代碼得到最大程度的復用,并且使得添加內容更加簡單 * 常見的結構頁面 ![](https://box.kancloud.cn/be1e707eb53cc921f96833c2a65d90d2_989x395.png) ### 創建根級目錄 * 名稱為"base.html" * 存放整個站點共用的內容 ```text <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title> {% block title %} {% endblock title %} 商城 </title> </head> <body> <div> top--{{ logo }} <hr /> {% block left %} {% endblock %} {% block content %} {% endblock %} <hr /> bottom </div> </body> </html> ``` ### 創建分支模板 * 繼承自base.html * 創建base\_goods.html模板 ```text {% extends 'myapp/base.html' %} {% block title %} 天使 {% endblock %} {% block left %} <h1>goods left</h1> {% endblock %} ``` * 定義base\_user.html模板 ```text {% extends 'myapp/base.html'%} {% block title %} 用戶中心 {% endblock %} {% block left %} <h1 style="color:blue">user left</h1> {% endblock %} ``` * 定義index.html,繼承自base.html ```text {% extends 'myapp/base.html' %} {% block content %} 首頁內容 {% endblock %} ``` ### 為具體頁面創建模板,繼承自分支模板 * 定義商品列表頁goodslist.html ```text {% extends 'myapp/base_user.html' %} {% block content %} 商品正文列表 {% endblock %} ``` * 定義用戶密碼userpwd.html ```text {% extends 'myapp/base_user.html' %} {% block content %} 用戶密碼修改 {% endblock %} ``` #### 視圖調用具體頁面,并傳遞模板中需要的數據 * 首頁視圖index ```text def index(request): return render(request,'myapp/index_two.html',{'logo':'首頁'}) ``` * 商品列表視圖goodlist ```text def goodlist(request): return render(request,'myapp/goodslist.html',{'logo':'貨物'}) ``` * 用戶密碼視圖userpwd ```text def userpwd(request): return render(request,'myapp/userpwd.html',{'logo':'密碼'}) ``` ### 配置url ```text from django.conf.urls import url,include from . import views app_name = 'myapp' urlpatterns = [ url(r'^index/$',views.index_two), url(r'^list/$',views.goodlist), url(r'^pwd/$',views.userpwd), ] ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看