1. 程式人生 > 程式設計 >Django模板匯入母版繼承和自定義返回Html片段過程解析

Django模板匯入母版繼承和自定義返回Html片段過程解析

1.ROOT_URLCONF = '總路由所在路徑(比如untitled.urls)'<===預設情況是這樣

根路由的路徑是可以修改的:ROOT_URLCONF = app01.urls<===根路由寫在app01下面

2.靜態檔案引入的三種方式

一:

<link rel="stylesheet" href="/static/dd/ssmycss.css" rel="external nofollow" > .

二:

{% load static %}
<link rel="stylesheet" href="{% static 'dd/ss/mycss.css' %}" rel="external nofollow" >


三:

<link rel="stylesheet" href="{% get_static_prefix %}dd/ss/mycss.css" rel="external nofollow" >

3.模板匯入===就是這麼簡單

把公共的部分,放在一個新建的模板中,比如index.html。

想在哪裡用公共的部分,直接{%include ‘index.html'%}<===標籤

母版繼承 === 這個才是個小重點

母版的樣式是固定的,所以繼承過來的盒子不論在前還是在後,位置都是不變的。

1 寫一個母版 base.html ===母版
 2 要更改的地方( )
 {% block base %} base是母版的盒子名稱
  母版的盒子裡也可以寫東西
 {% endblock %}
 3 呼叫:
  3.1 必須寫在第一行 {%extends 'base.html' %}
  3.2  {% block base %}  
   自己的東西   
   {% endblock my_head%} 這兒加my_head是為了更清晰的看到結束條件。
  3.3 還想用母版裡的內容({{block.super}} 放在那,原來母版裡的東西,就會渲染在哪)
   {% block base %}
   {{block.super}}
   自己的東西   
   {% endblock my_head%}
  3.4 如過不繼承盒子,它會用原來的內容,如果繼承了,沒寫自己的東西,它會空白,替換了原來的盒子。
  3.5 盒子在繼承時,跟順序無關

自定義返回Html片段步驟

自定義 inclusion_tag
 1 先去setting裡面把app名字配置上
 2 再app目錄下建立一個templatetags模組
 3 寫py檔案(my_test.py)
 4 from django import template
 5 register=template.Library()
 6 @register.inclusion_tag('test.html')
 def my_inclusion(n):
  data=[]
  for i in range(n):
  data.append('第%s行'%i)
  return {'data':data}
 7 寫test.html頁面
  <ul>
   {% for choice in data %}
   <li>{{ choice }}</li>
   {% endfor %}
  </ul>
 8 {% load my_test %}
 9 {% my_inclusion 10 %} 它會返回html的頁面

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。