Django学习笔记 02


模板函数以及基本操作

simple_tag


a、在app中创建templatetags模块

b、创建任意 .py 文件,如:xx.py


wu01\plate\templatetags\common.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2019/6/22 18:15
# @File    : common.py
# @Software: PyCharm
# @QQ      : 3383600886
# @Site    :  自定义模板函数

from django import template

register = template.Library()
'''
filter 
最多两个参数 {{参数|函数:"参数"}}
条件判断 用

simple_tag
无限制 {% 函数 参数 参数 参数 ... %}

'''

@register.filter
def my_upper(value, arg):
    return value + arg


@register.filter
def my_bool(value):
    return False


@register.simple_tag
def my_lower(value, a1, a2, a3):
    return value + a1 + a2 + a3


@register.simple_tag
def  hes(value):
    return '值:'+ value

@register.filter
def  zong(value):
    return '值:'+ value

@register.filter
def  bool(value):
    if value:
        return False
    else:
        return True

wu01\templates\tp\test.html


<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
 content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>模板</title>
</head>
<body>
<style>
 div{
        margin: 10px auto;
 border:1px solid red;
 }
</style>

<div>
    <h1>打印字典1</h1>
    <table>
        <tr>
 {% for user,info in userinfo.items %}

                <td>{{ user }},{{ info }}</td>

 {% empty %}
                无
 {% endfor %}
        </tr>
    </table>
</div>

<div>
    <h1>打印字典2</h1>
    <table>
        <tr>
 {% for user,info in userinfo %}

                <td>{{ user }},{{ info }}</td>

 {% empty %}
                无
 {% endfor %}
        </tr>
    </table>
</div>

<div>
    <h1>打印字典3</h1>
    <table>
        <tr>
 {% for user in userinfo %}

                <td>{{ user }}</td>

 {% empty %}
                无
 {% endfor %}
        </tr>
    </table>
</div>

{#自定义函数#}
{% load common %}

<div>
    <h1>自定义函数1</h1>

        <h2>filter</h2>
 {{ name|my_upper:"666" }}

        {% if name|my_bool %}
            <h3>真</h3>
 {% else %}
            <h3>假</h3>
 {% endif %}
    <h2>tag</h2>
 {% my_lower "ALEX" "x" "SB" "V" %}
</div>

<div>
    <h1>自定义函数1</h1>

 {{ name|zong }}
    {% hes '666' %}
    {% if name|bool %}
        假
 {% else %}
        真
 {% endif %}


</div>

</body>
</html>

wu01\plate\views.py

from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.
def index(request):
    return HttpResponse('模板操作')


def test(request):

    data = render(request,'tp/test.html',{
        'userinfo':{'k1':'v1','k2':'v2'},
        'name':'123'
    })

    return data

母版


---------------------
作者:前世的我
来源:前世的我
原文:http://www.w55.site/blog/article/look/id/27.html
版权声明:本文为博主原创文章,转载请附上博文链接!