Django--模板语法

后端量变信息

import datetime
lt = [11, 22, 33]
d = {"name": "zyy"}
s = 'dafdfakhkhkjlaxt'
fz = 2048576
local_status = True
current_time = datetime.datetime.now()
info = '编辑加注了HTML修饰符的文本,如果自动转义的参数的值 - 这可以有一个默认值'
user_info = {"name":"zhangyy","age":18, "xihao":['抽烟','哈酒','听相声']}

def func():
	return '我是一个不带参数的函数'
h1 = '<h1> 大家好,我是H1 </h1>'

前端

{{ }} -- 变量相关

<p> name:{{ d.name }}</p>
<p> 选择列表的第二个元素:{{ lt.1 }}</p>
<p> 传递函数名会自动加括号调用,不支持参数  当前时间:{{ func }}</p>
<p> 获取第一个喜好:{{ user_info.xihao.0 }}</p>

-------------------------------------------------------------------------------------
{{ }} 	过虑器: Filter
语法: {{ value|filter_name:参数 }}

<p>统计长度:{{ s|length }}</p>
<p>默认值(当第一个参数布尔值为True时显示第一个参数的值,否则显示冒号后面的值){{ local_status|default:'False' }}</p>
<p>时间格式化:{{ current_time|date:'Y-m-d H:i:s'}}</p>
<p>文件大小进行直观显示: {{ fz|filesizeformat  }}</p>
<p>切片操作:(支持步长,0-,步长为2){{s|slice:'0::2'}}</p>
<p>切字符(文章概述):{{ info|truncatechars:9 }}</p>
<p>获取第一个元素: {{ lt|first }}</p>
<p>获取最后一个元素:{{ lt|last }}</p>
<p>拼接{{ lt|join:''}}</p>
<p>相加数字{{ fz|add:10}}</p>
<p>相加字符{{ s|add:info}}</p>
<p>取消转义 {{ h1|safe}}</p>
后端转义为:
from django.utils.safestring import mark_safe
res = mark_safe('<h1> hello 大家好,我是H1 </h1>')
前端显示为  <p>取消转义 {{ res }}</p>
{% %} -- 逻辑相关

{% for foo in lt %}
    <p>这里是打印lt列表中的每一项 {{ foo }} </p>  
{% endfor %}
---------------------------if 判断 ----------------------------------------
if  判断
{% if user_list %}
  用户人数:{{ user_list|length }}
{% elif black_list %}
  黑名单数:{{ black_list|length }}
{% else %}
  没有用户
{% endif %}

---------------------------if 判断与 for巡环结合 -----------------------------
{% for foo in lt %}
    {% if forloop.first %}
        <p>我是第一个</p>
    {% elif forloop.last %}
        <p>我是最后一个</p>
    {% else %}
        <p>我即不是第一个也不是最后一个</p>
    {% empty %}
        <p>我是个空,当lt什么也没时 显示我</p>
    {% endif %} 
{% endfor %}

--------------------------- 设置别名 -----------------------------
设置别名,避免在前端中一直....去获取值

{% with user_inf.xihao.1 as hejiu %}
	<p>{{ hejiu }}</p>
	<p>或者还是使用原来的方法如下:</p>
	<p>user_inf.xihao.1</p>
{% endwith %}

模板的使用

base.html
<html>
<head>
    <title>Title</title>
    {% block pagc-css %}

    {% endblock %}
</head>
<body>

	<h1>这是母板的标题</h1>
	{% block page-main %}

	{% endblock %}


	<h1>母版的底部</h1>
	{% block page-css %}
    
	{% endblock %}
</body>

</html>

继承母板

index.html

{% extends 'base.html' %}

index2.html

{% block page-main' %}
    
{% endblock %}

组件

# 导航条
{% include 'navbar.html' %}

静态文件

{% load static %}
<img src="{% static "images/hi.jpg" %}" alt="Hi!" />

引用JS文件时使用:

{% load static %}
<script src="{% static "mytest.js" %}"></script>

某个文件多处被用到可以存为一个变量

{% load static %}
{% static "images/hi.jpg" as myphoto %}
<img src="{{ myphoto }}"></img>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值