08.16自我总结
django渲染高阶
一.利用母版渲染
1.创建母版文件
如:stamper.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
{% block css %}
{% endblock %} #写css
</style>
</head>
<body>
{% block data %}
{% endblock %} #存放内容
</body>
{% block js %} #写js
{% endblock %}
</html>
可以创建无数个block
2.导入模板
{% extends stamper.html %} #母版名称
{% block css %}
#放在原母版的基础上进行渲染
{% endblock %} #写css
二.一部分文件渲染
1.组件
xx.html
<form action="">
<input type="text" class="word-input">
<button class="word-button"> 提交</button>
</form>
2.导入组件
{% include 'xx,html' %}
注意
:这里导入多个相同的内容会出现多个内容
三.函数渲染
不建议大家在模板中使用函数, 因为会降低模板的渲染效率, 建议大家在视图处理函数中直接处理, 然后渲染即可
1.内置函数渲染
使用方法:
{{后台传输的内容|内置函数}}
2.自定义函数渲染
1.在app中创建templatetags目录
2.在上述的目录中创建 xxx.py
3.在xxx.py中
from django import template
register = template.Library()
@register.filter
def my_filter(val, args):
return val + args
@register.simple_tag
def my_upper(val, args, args1):
return val + args + args1
4.在html中
{%load xxx %}
- simple_filter
{{name | my_filter:'xxxxx'}}
- simple_tag
{%my_upper "zekai" "sss" 'dsadsadsa'%}