django 模板语言入门详解
django 模板语言所解决的问题域:
1、动态生成html文件
2、是上这个模板语言用可用于生成任何形式的文本文件
从一个不用模板语言生成html的例子看模板语言的优点:
假设我要生成一个 “hello xxx”样子的页面、不用template语言时可以写出来的、以下是页面的效果图:

不用模板语言的情况下、python代码如下:
from django.shortcuts import render
from django.http import HttpResponse # Create your views here. def index(request):
html="""<!DOCTYPE html>
<html>
<head>
<title>Hello {0}</title>
</head> <body>
<p> Hello {0} </p>
</body>
</html>
"""
return HttpResponse(html.format('welson'))
1、html代码与python代码和在一起、这个还是个小的页面、一个大点的页面可能有几千行html代码、在这个混合的代码汤中找到自己要
改动的点、而且还不要改错、这个就比较考验一个“程序猿的基本修养”了。
2、现在的网站开发大多都是有明确分工的、前端程序猿主要是负责写页面、后台程序猿写相应的逻辑;对于上面的情况、如果一个前端
程序猿要改页面的样式、那它最好要懂点python;总的来说吧、这种format的方式不方便合作。
用模板语言让前端与后台松耦合每个人都做自己擅长的事:
1、前端只要把html经过一点点改动就可以了、为页面写一个静态文件、代码如下:
<!DOCTYPE html>
<html>
<head>
<title>Hello {{ name }}</title>
</head> <body>
<p> Hello {{ name }}</p>
</body>
</html>
2、后台引入前端提供的html文件、并传入对应的参数、就可以生成页面了
from django.shortcuts import render # Create your views here. def index(request):
return render(request,'app01/index.html',context={'name': 'welson'})
通过django的模板机制html与python就分开了

页面效果是一样的、但是内涵不同了。
----
django 模板语言入门详解的更多相关文章
- C#语言入门详解(002)
c# 所編寫的不同應用程序 Console.WriteLine("Hello World!"); ///console textBoxShowHellow.Text = " ...
- webpack入门详解
webpack入门详解(基于webpack 3.5.4 2017-8-22) webpack常用命令: webpack --display-error-details //执行打包 webpa ...
- Linq之旅:Linq入门详解(Linq to Objects)
示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细介绍 .NET 3.5 中引入的重要功能:Language Integrated Query(LINQ,语言集 ...
- Scala 入门详解
Scala 入门详解 基本语法 Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的 Scala 程序是对象的集合,通过调用彼此的方法来实现消息传递.类,对象,方法,实例变 ...
- Linq之旅:Linq入门详解(Linq to Objects)【转】
http://www.cnblogs.com/heyuquan/p/Linq-to-Objects.html Linq之旅:Linq入门详解(Linq to Objects) 示例代码下载:Linq之 ...
- svg入门详解
一.svg是什么? SVG 意为可缩放矢量图形(Scalable Vector Graphics). SVG 是使用 XML 来描述二维图形和绘图程序的语言. SVG 图像在放大或改变尺寸的情况下其图 ...
- Linq之旅:Linq入门详解(Linq to Objects)(转)
http://www.cnblogs.com/heyuquan/p/Linq-to-Objects.html 示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细 ...
- vue2.x版本中computed和watch的使用入门详解-computed篇
前言 在基于vue框架的前端项目开发过程中,只要涉及到稍微复杂一点的业务,我们都会用到computed计算属性这个钩子函数,可以用于一些状态的结合处理和缓存的操作. 基础使用 在computed中,声 ...
- 6月15日 python学习总结 Django模板语言相关内容
Django模板语言相关内容 Django模板系统 官方文档 常用语法 只需要记两种特殊符号: {{ }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 {{ 变量名 }} ...
随机推荐
- SDUT 1269-走迷宫(DFS打印路径)
走迷宫 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描写叙述 有一个m*n格的迷宫(表示有m行.n列),当中有可走的也有不可走的,假 ...
- ubuntu 下 cajview 替代方案
.caj 是知网提供的论文的标准格式,但是,知网只提供 win 版的工具.这里尝试了两个两个方案,均可行,做一下记录在此. 1. 使用 wine 版的 cajview pdf 可以正常用,但是 ca ...
- 【转发】JQuery中操作Css样式的方法
JQuery中操作Css样式的方法 //1.获取和设置样式 $("#tow").attr("class")获取ID为tow的class属性 $("#t ...
- new malloc
https://blog.csdn.net/happyxieqiang/article/details/50775847 0. 属性 new/delete是C++关键字,需要编译器支持.m ...
- cpan安装报错Invalid host name on line 1 at *FirstTime.pm line 1857.
今天鼓捣一下CPAN,安装时出错: root@ubuntu:~# cpan install DBI CPAN.pm requires configuration, but most of it can ...
- 使用Kinect2.0控制VREP中的虚拟模型
VREP中直接设置物体姿态的函数有3个: simSetObjectOrientation:通过欧拉角设置姿态 simSetObjectQuaternion:通过四元数设置姿态 simSetObject ...
- Redis持久化之RDB与AOF
1. Redis的持久化方式 Redis作为高效的缓存件,它的数据存放在内存中,如果没有配置持久化,那么数据会在重启后丢失,因此如果不是仅用Redis做缓存的话,需要开启Redis的持久化功能,将数据 ...
- Emacs的sr-speedbar中使能Go-mode
sr-speedbar使用了speedbar的文件检索功能,但是Emacs24自带的speedbar不支持go文件预览,下面是在speedbar中使能go-mode的一种方法: 1,按F10启动菜单栏 ...
- 通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused: connect。
查看:http://blog.csdn.net/simunlin/article/details/71123279
- 理解iOS与函数式编程
有时候,一个关键字就是一扇通往新世界的大门.两年前,身边开始有人讨论函数式编程,拿关键字Functional Programming一搜,全是新鲜的概念和知识,顺藤摸瓜,看到的技术文章和框架也越来越多 ...