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模板系统 官方文档 常用语法 只需要记两种特殊符号: {{ }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 {{ 变量名 }} ...
随机推荐
- jquery keycode
判断键盘按下的键 $(window).keydown(function(event) { switch (event.which) { case (13): //Enter //要执行的操作 brea ...
- angularjs中的坑
ng-show 等ng的指令中不需要使用{{parameter}}来取值,回无效
- HTTPS与HTTP协议区别
1.主要区别 (1)超文本传输协议HTTP,HTTP下加入SSL层(位于传输层)的安全协议. (2)HTTP端口为80,HTTPS端口是443. 2.HTTPS通信过程 https 通信传输过程:
- Flex报错Error #2048: 安全沙箱冲突
Flex+JPA架构,JPA程序迁移,从Aserver到B. 其它一切没变.唯一变的就是IP. 前端Flex也就是swf报错Error #2048: 安全沙箱冲突:http://xxx.swf 不能从 ...
- SQL Server 默认跟踪(Default Trace)获取某个Trace跟踪了哪些Event和column
检查Default Trace是否已经开启,如果返回Figure1中value为1,那就说明已经开启默认跟踪了:如果value为0表示关闭默认跟踪: --查询Default Trace是否开启 ; 如 ...
- OpenCV学习代码记录——Hough线段检测
很久之前学习过一段时间的OpenCV,当时没有做什么笔记,但是代码都还在,这里把它贴出来做个记录. 代码放在码云上,地址在这里https://gitee.com/solym/OpenCVTest/tr ...
- weblogic11g重置账户
weblogic重置用户名密码 00.备份域下的认证文件 备份%DOMAIN_HOME%/security/DefaultAuthenticatorInit.ldift #当前的默认密码认证 01. ...
- iOS TableView多级列表
代码地址如下:http://www.demodashi.com/demo/15006.html 效果预览 ### 一.需求 TableView多级列表:分级展开或合并,逐级获取并展示其子级数据,可以设 ...
- 敏捷开发与Scrum
敏捷开发以用户的需求进化为核心,采用迭代.循序渐进的方法进行软件开发.在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视.可集成和可运行使用的特征.换言之,就是把 ...
- ios中UIWebview和asiHttprequest的用法
原文地址为:http://www.cnblogs.com/pengyingh/articles/2343062.htmlasiHttprequest的用法 它对Get请求的响应数据进行缓存(被缓存的数 ...