Django web开发系列(五)模板

  

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

。定义一个模板如下:

# index . html   & lt; !DOCTYPE html>   & lt; html lang=癳n”比;   & lt; head>   & lt;元charset=皍tf - 8”比;   & lt; title>模板使用说明& lt;/title>   & lt;/head>   & lt; body>   & lt; h2> {{var_content}} & lt;/h2>   & lt;/body>   & lt;/html>

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

# views.py   django。快捷方式进口呈现      def指数(请求):   返回渲染(请求,指数。html的,{“var_content”:“Hello World !”})


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

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

<>强。变量

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

<强> B。标签

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

 {% csrf_token %} # csrf标签,用于跨站请求伪造保护
 {%……在…%}#的标签,用于循环
  
  …
  
  {% endfor %} 
{%如果…%}#如果标签,用于逻辑判断
  
  {% elif…%}
  
  {%其他%}
  
  {% endif %} 

<强> C。过滤器

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

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

<强> D。注释

语法形式:

{%评论%}#注释标签,用于注释
  
  …
  
  {% endcomment %} 
{#…#} #单行注释

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


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


Django web开发系列(五)模板