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 模板语言入门详解的更多相关文章

  1. C#语言入门详解(002)

    c# 所編寫的不同應用程序 Console.WriteLine("Hello World!"); ///console textBoxShowHellow.Text = " ...

  2. webpack入门详解

    webpack入门详解(基于webpack 3.5.4  2017-8-22) webpack常用命令: webpack --display-error-details    //执行打包 webpa ...

  3. Linq之旅:Linq入门详解(Linq to Objects)

    示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细介绍 .NET 3.5 中引入的重要功能:Language Integrated Query(LINQ,语言集 ...

  4. Scala 入门详解

    Scala 入门详解 基本语法 Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的 Scala 程序是对象的集合,通过调用彼此的方法来实现消息传递.类,对象,方法,实例变 ...

  5. Linq之旅:Linq入门详解(Linq to Objects)【转】

    http://www.cnblogs.com/heyuquan/p/Linq-to-Objects.html Linq之旅:Linq入门详解(Linq to Objects) 示例代码下载:Linq之 ...

  6. svg入门详解

    一.svg是什么? SVG 意为可缩放矢量图形(Scalable Vector Graphics). SVG 是使用 XML 来描述二维图形和绘图程序的语言. SVG 图像在放大或改变尺寸的情况下其图 ...

  7. Linq之旅:Linq入门详解(Linq to Objects)(转)

    http://www.cnblogs.com/heyuquan/p/Linq-to-Objects.html 示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细 ...

  8. vue2.x版本中computed和watch的使用入门详解-computed篇

    前言 在基于vue框架的前端项目开发过程中,只要涉及到稍微复杂一点的业务,我们都会用到computed计算属性这个钩子函数,可以用于一些状态的结合处理和缓存的操作. 基础使用 在computed中,声 ...

  9. 6月15日 python学习总结 Django模板语言相关内容

    Django模板语言相关内容   Django模板系统 官方文档 常用语法 只需要记两种特殊符号: {{  }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 {{ 变量名 }} ...

随机推荐

  1. jquery keycode

    判断键盘按下的键 $(window).keydown(function(event) { switch (event.which) { case (13): //Enter //要执行的操作 brea ...

  2. angularjs中的坑

    ng-show 等ng的指令中不需要使用{{parameter}}来取值,回无效

  3. HTTPS与HTTP协议区别

    1.主要区别 (1)超文本传输协议HTTP,HTTP下加入SSL层(位于传输层)的安全协议. (2)HTTP端口为80,HTTPS端口是443. 2.HTTPS通信过程 https 通信传输过程:

  4. Flex报错Error #2048: 安全沙箱冲突

    Flex+JPA架构,JPA程序迁移,从Aserver到B. 其它一切没变.唯一变的就是IP. 前端Flex也就是swf报错Error #2048: 安全沙箱冲突:http://xxx.swf 不能从 ...

  5. SQL Server 默认跟踪(Default Trace)获取某个Trace跟踪了哪些Event和column

    检查Default Trace是否已经开启,如果返回Figure1中value为1,那就说明已经开启默认跟踪了:如果value为0表示关闭默认跟踪: --查询Default Trace是否开启 ; 如 ...

  6. OpenCV学习代码记录——Hough线段检测

    很久之前学习过一段时间的OpenCV,当时没有做什么笔记,但是代码都还在,这里把它贴出来做个记录. 代码放在码云上,地址在这里https://gitee.com/solym/OpenCVTest/tr ...

  7. weblogic11g重置账户

    weblogic重置用户名密码 00.备份域下的认证文件 备份%DOMAIN_HOME%/security/DefaultAuthenticatorInit.ldift  #当前的默认密码认证 01. ...

  8. iOS TableView多级列表

    代码地址如下:http://www.demodashi.com/demo/15006.html 效果预览 ### 一.需求 TableView多级列表:分级展开或合并,逐级获取并展示其子级数据,可以设 ...

  9. 敏捷开发与Scrum

    敏捷开发以用户的需求进化为核心,采用迭代.循序渐进的方法进行软件开发.在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视.可集成和可运行使用的特征.换言之,就是把 ...

  10. ios中UIWebview和asiHttprequest的用法

    原文地址为:http://www.cnblogs.com/pengyingh/articles/2343062.htmlasiHttprequest的用法 它对Get请求的响应数据进行缓存(被缓存的数 ...