Django 模板系統2
1. tags
2. 母版和繼承
1. 母版
就是一個普通的HTML文件,提取多個頁面的公共部分
減少代碼量 修改十分方便
定義block塊
2. 使用(繼承)
在子頁面中
{% entends ‘base.html‘ %}
重新修改block塊中的內容
3. 註意事項:
1. 把{% extends ‘base.html‘ %} 寫在第一行
2. 修改的內容寫在block中,寫在外面不顯示
3. {% extends name %} name應該是變量 或者是字符串 繼承母版的名字
4. 母版中定義多個block塊,一般還有 js 塊 和 css塊
3. 組件
1. 就是一小段HTML代碼 多個頁面都用到的內容 nav.html
2. 在任意的模板中使用
{% include ‘nav.html‘ %}
4. 靜態文件相關
1. {% load staticfiles %} 或者 {% load static %}
2. {% static ‘css/pub.css‘ %} ——》 先去settings中獲取STATIC_URL的配置,和後面提供的參數進行拼接
1. {% load static %}
2. <link rel="stylesheet" href="{% get_static_prefix %}css/pub.css">
5. 自定義simpletag和自定義inclusion_tag
1. 在app下創建一個名叫templatetags的python包
2. 在templatetags裏建一個py文件
3. 在py文件中編輯:
from django import template
register = template.Library()
@register.simple_tag
def join_str(arg1, arg2, arg3,*args,**kwargs):
print(args)
print(kwargs)
return ‘_‘.join([arg1, arg2, arg3])+‘*‘.join(args)
@register.inclusion_tag(‘pagination.html‘)
def pagination(total, current):
return {‘total‘: range(1, total + 1), ‘current‘: current}
4.使用
{% load py文件名 %}
{% 函數名 參數1 參數2 %}
Django 模板系統2