如何将前端的数据直接通过python模块进行渲染,使用django的simple_tag功能,如下
django后端编写:
1:在对应的app目录下创建目录:templatetags
2:在templatetags目录内创建一个python模块,比如名称为:simple_tag.py
from django import template register = template.Library() @register.simple_tag
def sim(a,b):
return a+b
实现的结果是:将前端传过来的参数进行加法,然后将结果返回
3:此APP必须在setting内注册
前端编写
1:在需要使用此模块的页面顶部加载模块
{% load simple_tag %} # 这个为加载的python模块名称
2:在页面body内调用此模块中的函数处理数据
{% sim 3 5 %}
这里将调用sim模块,将3和5传入此函数中进行处理
缺点:不能作为if条件
优点:参数任意个 使用filter django后端编写:
1:在对应的app目录下创建目录:templatetags
2:在templatetags目录内创建一个python模块,比如名称为:simple_tag.py
from django import template register = template.Library()
@register.filter
def f(s1,s2):
return s1+s2
实现的结果是:将前端传过来的参数进行字符串拼接,然后将结果返回
3:此APP必须在setting内注册
前端编写
1:在需要使用此模块的页面顶部加载模块
{% load simple_tag %} # 这个为加载的python模块名称
2:在页面body内调用此模块中的函数处理数据
{{ "参数1"|函数名:"参数2" }}
这里将调用sim模块,将3和5传入此函数中进行处理
缺点:参数任意,但不能超过2个
优点:能作为if条件
简单用法如上。