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模板系统 官方文档 常用语法 只需要记两种特殊符号: {{ }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 {{ 变量名 }} ...
随机推荐
- 通过实例看懂diff命令输出
摘自:http://blog.sina.com.cn/s/blog_612144f30100nkpt.html ############################### 实例: 有这样两个文件: ...
- vue初始化数据加载
使用created钩子 import AppLayout from '@/components/app-layout' import axios from 'axios' export default ...
- CentOS7系统安装Nginx进行跨域处理
1 打开终端 依次输入以下命令: yum install nginx vi /etc/nginx/nginx.conf 然后编辑修改该文件中代码,以下是修改后的代码全文: # For more inf ...
- SqlDataAdapter概述
SqlDataAdapter是 DataSet和 SQL Server之间的桥接器,用于检索和保存数据.SqlDataAdapter通过对数据源使用适当的Transact-SQL语句映射 Fill(它 ...
- 【Bugly安卓开发干货】Android APP 高速 Pad 化实现
Bugly 技术干货系列内容主要涉及移动开发方向.是由 Bugly 邀请腾讯内部各位技术大咖,通过日常工作经验的总结以及感悟撰写而成,内容均属原创.转载请标明出处. 怎样能在最快的时间内,实现一个最新 ...
- java 加密
加密.大体上分为双向加密和单向加密,而双向加密又分为对称加密和非对称加密. 双向加密大体意思就是明文加密后形成密文,能够通过算法还原成明文. 单向加密仅仅是对信息进行了摘要计算,不能通过算法生成明文. ...
- LS下怎样最大限度的提高Domino下Web应用的速度
1.用For 循环代替Do 循环,因为Do循环会反复的计算条件! 2.在数族元素中循环式用Forall代替for.一元数组会快75%,二元会快50%左右. 3.简化If里的条件,如:if a=x an ...
- linux-shell脚本高并发对文本url批量下载
实践出真知 样例 http://xxxx.file.myqcloud.com/yyy/xxxxx/xxxx.jpg #注意xxx,yyy都是马赛克 需求: 1.url条数130万左右,图片都说16kB ...
- 微信小程序开发学习资料
作者:初雪链接:https://www.zhihu.com/question/50907897/answer/128494332来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...
- 使用google chart api生成报表图片
使用google chart api生成报表图片 截图 折线图 饼图 柱状图 实现方法 原理是调用google的报表服务,动态拼接url字符串,得到一张图片,数据和说明文字都是从url中传进去的. ...