Djangoweb开发系列(五)模板-创新互联

一 前言

在上一节了解到视图函数处理后,会将结果渲染到创建的html页面,但html如何接收并显示视图函数返回的动态数据呢?最常用的做法就是使用模板(Template),本节将简单介绍一下模板的作用和用法。 可以这样简单的理解模板的概念,模板是包含了html的静态部分和模板语法,通过模板语法实现动态数据的插入,最后拼接成完整的静态html页面。

成都创新互联公司是一家专注于成都网站建设、成都做网站与策划设计,岢岚网站建设哪家好?成都创新互联公司做网站,专注于网站建设10年,网设计领域的专业建站公司;建站业务涵盖:岢岚等地区。岢岚做网站价格咨询:18980820575

二 模板应用举例

A. 定义一个模板如下:

# index.html               模板使用说明          

{{ var_content }}

B. 在视图函数中向模板传递数据:

# views.py from django.shortcuts import render def index(request):    return render(request,'index.html',{" var_content ":"Hello World!"})

通过上面实例可以看出,事先创建的html不需要硬编码,通过{{ var_content }}定义的变量,就可以接收视图函数以字典形式传递的参数值(Hello World!)。因而,通过这种方式解决了前面提到的html显示动态数据的问题。 除了{{}}定义变量,模板语言还有其他语法形式。

三 基本模板语法

模板语法主要包括四种结构,如下:

A. 变量

语法形式:{{ variable }} 说明:定义变量,视图函数中以字典形式传递变量值,实现动态数据向html的传递;

B. 标签

语法形式:{% tag %} 说明:通过标签可以实现灵活的结构控制、输出内容、加载外部信息到模板;部分常用标签如下:

{% csrf_token %} # csrf标签、用于跨站请求伪造保护
{% for ... in ... %} # for标签,用于循环

 …
 
{% endfor %}
{% if ...%}  # if标签,用于逻辑判断

{% elif ...%}

{% else %}

{% endif %}

C. 过滤器

语法形式:{ { 变量|过滤器 }} 说明:过滤器主要用于修改变量或标签参数的值,如:

{{ my_date|date:"Y-m-d" }} # 按指定的格式"Y-m-d",显示日期

D. 注释

语法形式:

{% comment %} # comment标签 ,用于注释

    ...
    
{% endcomment %}
{# … #} # 单行注释

模板语法绝不仅限于此,在此只是说明,通过模板语法可以实现动态html的生成,最终将后台处理结果恰到好处的显示在前端页面。

四 其他资源

关于python学习、分享、交流,笔者开通了微信公众号【小蟒社区】,感兴趣的朋友可以关注下,欢迎加入,建立属于我们自己的小圈子,一起学python。

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网页名称:Djangoweb开发系列(五)模板-创新互联
网页地址:http://scyanting.com/article/dhpejc.html