返回顶部
首页 > 资讯 > 精选 >Django中模块语言的示例分析
  • 594
分享到

Django中模块语言的示例分析

2023-06-25 13:06:20 594人浏览 安东尼
摘要

这篇文章给大家分享的是有关Django中模块语言的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、变量DTL用{{变量名}}格式表示变量。变量名由字母、数字、下划线组成,但不能以下划线开头。DjanGo

这篇文章给大家分享的是有关Django中模块语言的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

1、变量

DTL用{{变量名}}格式表示变量。变量名由字母、数字、下划线组成,但不能以下划线开头。DjanGo在渲染模板时,会遇到的变量替换为上下文中对应的变量值。如果变量是对象,可以使用点号(·)访问其属性或方法。

Django中模块语言的示例分析

2、注释

DTL用{#...#}来表示注释,注释的内容不会出现在渲染结果里

Django中模块语言的示例分析

 被{#...#}注释的内容不能换行。要注释多行内容,应使用comment标签

<p>姓名:{{ name }}</p>{%  comment "多行注释" %}<p>年龄:{{ age }}</p><p>日期:{{ now }}</p>{% endcomment %}

模板中年龄和日期被包含在注释中,在渲染时会被忽略。例如,在视图中使用该模板的示例代码

def testTemplate(request):    time=datetime.today()    c={'name':"小镭",'age':999,'now':time}    return render(request,'testtem.html',c)

浏览器显示的渲染结果如图: 

Django中模块语言的示例分析 

3、过滤器

过滤器用于改变变量的显示结果。常用的过滤器有如下3个:

(1)default:设置变量为false或为空时显示的替代值。基本格式为{{变量|default:替代值}}

(2)length:返回字符串或列表长度。基本格式为{{变量|length}}

(3)filesizefORMat:将数值转换为文件大小格式,如1.1KB。基本格式为{{变量|filesizeformat}}

Django中模块语言的示例分析

(Django提供了60多个内置模块过滤器 )

4、标签:include

标签用于完成一些更复杂的操作。如包含模块,控制流程,创建输出文本或实现模板继承。

include标签用于包含模块,将其他模板代码插入当前位置,并使用当前模板的上下文进行渲染。

include标签的基本格式为:

{%include 模块名称%}

模块名称可以是字符串或者字符串变量。例如,模板文件testtemm.html代码

模板A:{{data|default:'nothing'}}<br>

模板文件testtem1.html代码

{%include 'testtemm.html'%}

模板B:当前日期:{%now "Y 年 m 月 d 日 H:i:s"%}

下面的试图使用模板testtem.html

def testTemplate1(request):    return render(request,'testtem1.html',{'data':123})

模块testtem.html中使用了{%now%}标签获得指定格式的当前日期字符串。浏览器显示渲染结果: 

Django中模块语言的示例分析 

可在包含模块时指定参数,

{%include 'testtemm.html' with name='小镭'%}

with之后连接的是参数,参数名与模板中的变量名一致。在传递多个参数时,使用空格作为分隔符

{%include 'testtemm.html' with data='abcd' data2=123%}

示例:

<!--chaper6\chaper6\templates\testtemm.html--><html lang="en"><head>    <meta charset="UTF-8">    <title></title></head><body>模板A:{%include 'testtem.html' with name='小镭'%}</body></html>

Django中模块语言的示例分析

5、标签:for

Django中模块语言的示例分析

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>test1</title></head><body><table>    {% for r in data %}      <tr>        <td>第{{forloop.counter}}行:</td>        {% for a in r %}            <td>{{a}}</td>        {% endfor %}      </tr>    {% endfor %}</table></body></html>

 下面的试图使用该模板

def test1(request):    data=[[1,2,3,4],[5,6,7,8],['a','b','c','d']]    return render(request,'test1.html',{'data':data})

 浏览器显示的渲染结果如图:

 Django中模块语言的示例分析

 可以使用reversed表示反向循环

{%for r in data reversed%}

将上面的模板文件 test1.html中的for标签改为反向循环后,渲染结果(使用反向循环的渲染结果):

Django中模块语言的示例分析

 对于包含子列表的列表变量,for标签可将子列表映射到独立变量,

<ul>    {% for a,b,c,d in data %}    <li>        {{ a }},{{b}},{{ c }},{{ d }}    </li>    {% endfor %}</ul>

 Django中模块语言的示例分析

对于字典对象,for标签可分别映射键和值。例如,字典对象{'name':“小镭”,‘age':999}可用下面的模板:

<ul>    {% for key,value in data.items %}    <li>        {{ key }}={{ value }}    </li>    {% endfor %}</ul>

 渲染结果如图:

Django中模块语言的示例分析

可在for标签块的内部使用{% empty %}, 它表示当要遍历的对象不存在或为空时输出的内容。

示例:

<ul>    {% for key,value in data1.items %}    <li>        {{ key }}={{ value }}    </li>    {% empty %}       在上下文中没找到字典对象,或者data为空    {% endfor %}</ul>

 因为data1为空字典,所以使用{%empty%}

Django中模块语言的示例分析

6、标签:if

if标签用于构造条件分支,其基本结构如下

{% if var1 %}..{% elif var2 %}..{% else %}..{% endif %}

elif和else块可以省略,elif块可以有多个。Django按先后顺序依次计算if和elif标签的变量,如果变量为“真”(及变量存在,不为空、且不是False),则输出相应的数据块,且流程跳转到endif标签后。如果没有变量为“真”,则输出else数据块(如果else数据块存在的话)

例如,下面的模块根据分数输出等级:

分数:{{ data }},{% if data >= 90 %}    等级:A{% elif data >= 80 %}    等级:B{% elif data >= 70 %}    等级:C{% elif data >= 60 %}    等级:D{% else %}    等级:不合格{% endif %}

下面的视图使用该模块:

def test2(request):    data=int(request.GET['data'])    return render(request,'test1.html',{'data':data})

 本例从URL中获得分数(格式为正式),request。GET['data']获得的数据默认为字符串格式,所以需要将其转换为整数。如果未做转换,Django会将其作为字符串,模板将输出else标签部分的数据。

运在浏览器中访问 “http://127.0.0.1:8000/test2?data=88”,输出结果如图所示

Django中模块语言的示例分析

Django中模块语言的示例分析

感谢各位的阅读!关于“Django中模块语言的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: Django中模块语言的示例分析

本文链接: https://lsjlt.com/news/305188.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Django中模块语言的示例分析
    这篇文章给大家分享的是有关Django中模块语言的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、变量DTL用{{变量名}}格式表示变量。变量名由字母、数字、下划线组成,但不能以下划线开头。Django...
    99+
    2023-06-25
  • python中sys模块的示例分析
    小编给大家分享一下python中sys模块的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python版本: Python 2.7.61: sys是pyt...
    99+
    2023-06-14
  • Python中os模块和shutil模块的示例分析
    这篇文章将为大家详细讲解有关Python中os模块和shutil模块的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Pyth...
    99+
    2023-06-06
  • python中OS模块和time模块的示例分析
    这篇文章将为大家详细讲解有关python中OS模块和time模块的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、OS模块概述Python OS模块包含普遍的操作系统功能。如果你希望你的程序能够...
    99+
    2023-06-15
  • python模块的示例分析
    小编给大家分享一下python模块的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传...
    99+
    2023-06-14
  • JavaScript模块模式的示例分析
    这篇文章主要介绍了JavaScript模块模式的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体如下:在JS中没有Class的概念...
    99+
    2024-04-02
  • nodejs中模块定义的示例分析
    这篇文章将为大家详细讲解有关nodejs中模块定义的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体如下:1.模块定义nodejs所谓的模块就是一个文件!一个....
    99+
    2024-04-02
  • angular/material2中dialog模块的示例分析
    这篇文章主要介绍angular/material2中dialog模块的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用方法引入弹窗模块自己准备作为模板的弹窗内容组件在需要使...
    99+
    2024-04-02
  • CommonJS中模块加载的示例分析
    这篇文章主要介绍CommonJS中模块加载的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!叨叨一会CommonJSCommon这个英文单词的意思,相信大家都认识,我记得有一个...
    99+
    2024-04-02
  • Nodejs中模块规范的示例分析
    这篇文章主要为大家展示了“Nodejs中模块规范的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Nodejs中模块规范的示例分析”这篇文章吧。CommonJS 模块规范以前加载 JS 文...
    99+
    2023-06-15
  • Python中包与模块的示例分析
    这篇文章主要为大家展示了“Python中包与模块的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Python中包与模块的示例分析”这篇文章吧。什么是 Python 的包与模块包的定义:简...
    99+
    2023-06-29
  • Python中Django模板系统的示例分析
    这篇文章主要为大家展示了“Python中Django模板系统的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Python中Django模板系统的示例分析”这篇文章吧。设置模板路径在dja...
    99+
    2023-06-25
  • JavaScript模块化的示例分析
    小编给大家分享一下JavaScript模块化的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. 浏览器支持使用JavaScript 模块依赖于 impo...
    99+
    2023-06-15
  • Python模块cachetools的示例分析
    Python模块cachetools的示例分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。前言cachetools 是一个 Python 模块,提供各种记忆集合和修饰符,包括...
    99+
    2023-06-02
  • angular2模块和共享模块的示例分析
    这篇文章主要介绍angular2模块和共享模块的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!创建模块,用到了共享模块PostSharedModule,共享模块里面包含了2个...
    99+
    2024-04-02
  • django之MVT模式的示例分析
    这篇文章主要介绍了django之MVT模式的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。本文教程操作环境:windows7系统、django2.1,DELL G3电...
    99+
    2023-06-14
  • Angular2 PrimeNG分页模块的示例分析
    小编给大家分享一下Angular2 PrimeNG分页模块的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Angular...
    99+
    2024-04-02
  • Angular2中模块懒加载的示例分析
    这篇文章主要介绍了Angular2中模块懒加载的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。当项目变得复杂庞大以后,如果所有页面都...
    99+
    2024-04-02
  • Vuex中模块化组织的示例分析
    这篇文章主要为大家展示了“Vuex中模块化组织的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vuex中模块化组织的示例分析”这篇文章吧。在实际项目中如...
    99+
    2024-04-02
  • Angular根模块与特性模块的示例分析
    这篇文章主要介绍Angular根模块与特性模块的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!前提是安装了 Angular cli,以下的大部分文件创建都是依赖于cli提供的指令Angular中的特性模板和根...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作