Django模板

我们已经知道,模板函数的函数的返回值就是返回给客户端的数据,但如果返回数据很复杂,如果一个非常大的html页面,直接将页面代码固化在python脚本文件中是不合适的,当然

也可以将html页面代码放到一个文件中,然后通过open函数或其他API读取文件内容。这是一种非常好的方式,不过这些功能已经被django封装了。

djaogo模板就是django内建的模板,无须单独安装。

django模板就是HTML静态页(可能包含CSS、JS等前端代码)和标签的组合。也就是说,Django模板与HTML静态页面非常相似,这是除了静态部分,还有动态部分,这一部分成为标签,

django模板文件是通过路由函数返回给客户端的,所以在返回之前,django模板引擎会先将模板中所有的标签替换成静态页面的内容(主要是HTML代码),也就是说,django模板中的

标签在浏览器中是看不到的,我们看到的都是这些标签转换而成的html代码。只有web服务端才能看到这些标签,并进行相应的替换。

djgango模板文件默认都放在template目录中。使用pycharm创建django过程时会自动创建template目录。除了标签外,django模板中的其他部分和html页面没有什么区别。所有的标签

都使用{{...}}扩起来,一般{{...}} 内是一个标识符 如 {{name}},方便web服务端替换标签。

返回django模板文件需要使用django.shortcuts模块中的render函数,该函数需要指定三个参数,第1个参数是request,第2个参数是django模板文件名(如hello.html),第3个参数

是一个字典类型,用于存储标签需要替换的值。字典的key就是{{...}}中的标识符。

本例在template目录中建立一个简单的django模板文件(hello.html),然后在工程的Firstdjango目录中创建view.py脚本文件编写一个名为hello的路由函数,用于返回hello.html。

1、首先建立工程,建立工程请参照:https://www.cnblogs.com/effortsing/p/10394511.html

2、在template目录中建立一个简单的django模板文件(hello.html),然后在hello.html文件中添加如下内容:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>hello</title>
</head>
<body>
<h1>{{ hello }}</h1>
</body>
</html> 3、在工程的Firstdjango目录中建立一个view.py脚本文件,然后在view.py文件中添加如下内容: from django.shortcuts import render
def hello(request):
values={}
#设置替换标签的值
values['hello']='hello world'
#使用render函数返回hello.html文件
return render(request,'hello.html',values) 4、然后在Firstdjango目录中找到urls.py脚本文件,用下面的代码代替urls.py脚本里面的内容: from django.conf.urls import url
from .import view
urlpatterns=[
#下面代码是本例添加的路由方法与正则表达式的映射
url(r'^hello$',view.hello),
] 5、启动django 如果已经启动就不需要再次启动,django会自动加载修改的内容 6、浏览器访问 http://127.0.0.1:8000/hello
hello world 7、创建上面hello.html、view.py脚本文件位置如下图所示:


djando模板----第一django模板应用的更多相关文章

  1. 转换器2:ThinkPhp模板转Django模板

    前天写了个<ThinkPhp模板转Flask模板> 居然被同事鄙视了,原因是他用Django,我用Flask,为了避免被他继续安利Django的强大.我决定写一个Django模板转换器. ...

  2. django模板语法

    Django 模板语法 Django 模板语法 一.模板 只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板. 二.模板语法 模板语法变量:{{ }}在Django模板中遍历复杂 ...

  3. Python学习---django模板语法180122

    django模板语法[Template] 模版的组成:  HTML代码+逻辑控制代码  <h1> {{ user_name }} </h1> 逻辑控制代码的组成: 1.变量: ...

  4. django之创建第3个项目:编写第一个模板文件

    1.django结构 2.在站点blog下创建templates文件夹,专门用于存放模板文件 3.在templates文件夹下创建index.html文件 #index.html <!DOCTY ...

  5. Django(4)html模板继承、模板导入、分页实现

    1.获取所有请求信息 导入模块:from django.core.handlers.wsgi import WSGIRequest request.environ:包含所有的请求信息,可以打印看一下, ...

  6. python django 模板

    1 用两个大括号括起来的文字{{person_name}} 称为变量 2 被 大括号和面分号包围的文件({% if ordered_warranty %})是模板标签 3 过滤器是用管道符(|) 和U ...

  7. Django模板-分离的模板

    上一篇Django模板-在视图中使用模板最后的问题,我们需要把数据和展现分离开. 你可能首先考虑把模板保存在文件系统的某个位置并用 Python 内建的文件操作函数来读取文件内容. 假设文件保存在 E ...

  8. Django模板-模板标签

    接着Django模板-基础知识继续写模板相关知识. if标签 {% if %} 标签接受 and , or 或者 not 关键字来对多个变量做判断 ,或者对变量取反( not ). 但是不允许在同一个 ...

  9. Django模板-基础知识

    上一篇中带参数的URLconf虽然可以做到传参动态显示内容,但是最终现实的内容还是硬编码到Python代码中的 def hours_ahead(request,phours): try: phours ...

随机推荐

  1. Robot Framework--接口测试环境搭建

    1.安装requests库 (robotframework-requests依赖这个request http client) 执行pip install requests 2. 安装requestLi ...

  2. 8 loader - 配置处理css样式表的第三方loader

    // 使用import语法,导入css样式表 import './css/index.css' // 注意:webpack,默认只能打包处理JS类型的文件,无法处理其它的非JS类型的文件: // 如果 ...

  3. SQL SERVER表压缩

    概述 SQL Server的主要性能取决于磁盘I/O效率,SQL Server .2008提供了数据压缩功能来提高磁盘I/O效率.表压缩意味着减小数据的磁盘占有量,所以压缩可以用在堆表.聚集索引的表. ...

  4. LightOJ - 1148-Mad Counting (数学)

    链接: https://vjudge.net/problem/LightOJ-1148 题意: Mob was hijacked by the mayor of the Town "Trut ...

  5. 树状数组例题-数星星,简单题easy,校门外的树2,清点人数

    [例1]数星星 天空中有一些星星,这些星星都在不同的位置,每个星星都有个坐标,如果一个星星的左下方(包括正左和正下)有k颗星星,就说这颗星星是k级的. 比如,上图中,星星5是3级的(1,2,4在其左下 ...

  6. SQL SERVER PIVOT使用

    参照这个网址介绍 http://www.cnblogs.com/lwhkdash/archive/2012/06/26/2562979.html 一般SQL Server的函数都会识别为紫色,可是PI ...

  7. 2.设计模式-Abstract Factory 抽象工厂模式

    大神勿喷,不对的地方请指出来,学笔记而已. 解决的问题:应对多系列对象构建的变化或多系列(例如:崎岖的山路和平坦的马路属于一个系列) 不断的变化的创建. 使用场景:对象不变(比如有3个对象 " ...

  8. *51nod 1815

    从若干个数中选出最大的任意两数取模之后的结果 严格次大值 对于此题 首先缩点 然后拓扑排序 维护到达每个点的最大值与严格次大值 感觉思路与代码都OK啊 then.... #include <io ...

  9. Educational Codeforces Round 75

    目录 Contest Info Solutions A. Broken Keyboard B. Binary Palindromes C. Minimize The Integer D. Salary ...

  10. VMware安装Centos7超详细教程

    本篇文章主要介绍了VMware安装Centos7超详细过程(图文),具有一定安装参考价值 在没有运维的情况下,很多时候测试需要自己搭建测试环境,而测试环境又分为QA环境,自动化测试环境,uat环境,以 ...