Django 內的母版-子html規則
阿新 • • 發佈:2018-09-22
bio gist reg 文件名 不同 cat 是否 ret word 一、母版
在實際應用中,在開發一個網站時,從首頁到主頁、到目錄頁,等等!有時候,我們大部分基礎網頁頭、邊框、側邊框、基礎css、js等復用性很高,如果每一個html都要獨立去寫的話,就太麻煩了。
而把這些很多頁面都共用的東西抽取出來,使用面向對象的思想,讓子版去繼承這些母版,然後只需要自己不同就好了!而在Django 內是怎麽實現的呢
- {{ item }}
- {% for item in item_list %} {{ item }} {% endfor %}
forloop.counter #從1開始計數自增 1 2 3 4 ....
forloop.revcounter #反轉計數自減
forloop.last {% if ordered_warranty %} {% else %} {% endif %}
- 母板:{% block title %}{% endblock %} #母版中預留位置
子板:{% extends "base.html" %} #子版引入母版
{% block title %}{% endblock %} #子版中對應母版預留位置
幫助方法:
- {{ item.event_start|date:"Y-m-d H:i:s"}}
- {{ bio|truncatewords:"30" }} #截取30個字符
- {{ my_list|first|upper }}
- {{ name|lower }}
在於app同名的文件夾下創建名為:templatetags文件夾
在該文件夾中穿件任意名稱的自己的py文件
在py文件中引入:
from django import template rom django.utils.safestring import mark_safe #必須創建名稱為:register 的實例 register = template.Library() #裝飾到自己的函數上 @registrer.simple_tag def my_fun(*args): """do something with *args""" return result @register.simple_tag def my_input(id,arg): result = "< input type=‘text‘ id=‘%s‘ class=‘%s‘/>" %(id,arg,) return mark_safe(result)
在模版中下載自己的文件
{% load 文件名 %}模版中使用該函數
{% my_fun arg1 arg2 %}
Django 內的母版-子html規則