模板介绍

在之前,视图函数只是返回一个简单的文本。而在实际开发环境中很少这样用。因为实际的页面大多是带有样式的html代码,这可以让浏览器渲染出非常漂亮的页面。目前市面上有非常多的模板系统,其中最知名最好用的就是DTL和jinjia2,DTL是django Template Language三个单词的缩写,也就是django自带的模板语言。当然也可以配置django支持的jinjia2等其他模板引擎,但是作为内置的模板语言,和Django可以达到无缝衔接而不会产生一些不兼容的情况。

DTL与HTML文件的区别:

DTL模板是一种带有特殊语法的HTML文件,这个HTML文件可以被Djiano内置模板编译,可以传递参数进去,实现数据动态化,在编译完成后,生成一个普通的HTML文件,然后发送给客户端。

渲染模板

渲染模板有多种方式,下面说两种:p

1.render_to_string:找到模板,然后将模板编译后渲染成python的字符串格式。最后再通过HttpResponse类包装成一个HttpResponse对象返回回去。示例代码:

from django.template.loader import render_to_string
def index(request):
    html = render_to_string(‘index.html‘)
    retutn Httpresponse(html)

2.以上方式虽然很方便了,但是django还提供了一个更加简便的方式,直接将模板渲染成字符串并包装成HttpResponse对象一步到位完成。示例代码:

from django。shortcuts import render
def index(resquest):
    return render(request,‘index.html‘)

模板查找路径

在项目的setting.py文件中,有一个TEMPLATES配置,这个配置包含了模板引擎的配置(backend),模板查找路径(Dirs),模板上下文的配置等。模板路径可以再两个地方配置

1.DIRS:这是一个列表,在这个列表中可以存放所有的模板路径,以后再视图中使用render或者render_to_string渲染模板的时候,会在这个列表的路径中查找模板。

2.APP_DIRS:默认为true,这个设置为true后,会在INSTALLED_APPS的安装了的app下的templates文件中查找模板。注意是**templates**

3.查找顺序,比如代码render(‘index.html‘),说先会在DIRS这个列表中一次查找路径下有没有这个模板,如果有,就返回,如果DIRS列表中所有的路径都没有找到,那么会先检查当前这个视图所处的app是否已经安装,如果已经安装了,那么就现在当前这个app下的templates文件夹中查找模板,如果没有找到,那么会在其他已经安装了的app中查找。如果都没有找到,会抛出一个TemplatesDonesNotExist的异常

原文地址:https://www.cnblogs.com/nihao2/p/12073715.html

时间: 2024-10-13 20:46:26

模板介绍的相关文章

DataUml Design 教程5-代码模板介绍(甚于T4模板技术)

DataUml Design 代码模板完全基于C#语言来编写的.不懂写模板的可以请教作者,随时欢迎.下面是一段模板代码,这段代码可以获取一个类结构的所有信息. <#@ template language="C#" HostSpecific="True" #> <# NetUmlTemplateCodeHost host = (NetUmlTemplateCodeHost)(Host); #> 命名空间:<#= host.ClassPro

cacti监控工具之数据收集方法、模板介绍及使用

目录 1.cacti数据收集方法.三种模板介绍 2.模板的使用介绍 1.cacti数据收集方法.三种模板介绍 在上一博文中我们部署好了cacti环境,并让cacti运行起来了.今天在这里介绍一下在cacti的"consolle"控制台中的"Collection Methods"."Templates"."Import/Export"三个部件,即在下图中标明的三个部件. 在"Collection Methods&quo

Django框架(十一):模板介绍、模板语言、模板继承、HTML转义

1. 模板介绍 1.1 模板的功能 产生html,控制页面上展示的内容.模板文件不仅仅是一个html文件. 模板文件包含两部分内容: 静态内容:css.js.html. 动态内容:用于动态去产生一些页面内容.通过模板语言来产生. 1.2 模板文件的使用 通常是在视图函数中使用模板产生html内容返回给客户端. 加载模板文件loader.get_template,获取模板文件的内容,产生一个模板对象. 定义模板上下文RequeseContext,给模板文件传递数据. 模板渲染产生html页面内容r

phpcmsv9更换模板介绍

先分享下大概的步骤: 1.上传模版文件到服务器:2.在站点管理 里边[模板风格配置]选择新模板:3.设置不同模型对应模板:4.修改现有的栏目,匹配新模板:5.更新栏目缓存.系统缓存,更新HTML静态页. 下面分享一组配图: 一.上传模版文件夹到phpcms/templates/目录下,并命好文件的名,比如为cmsyou.对应的CSS文件夹放到对应位置(具体按模板要求). 通过FTP,上传模版文件夹 在后台界面里边可以看到新上传的模板 二.找到菜单:设置 >站点管理 >默认站点,点修改,在[模板

Linux编程 14 文件权限(用户列表passwd,用户控制shadow,useradd模板与useradd命令参数介绍)

一. 概述 linux安全系统的核心是用户账户. 创建用户时会分配用户ID(UID). UID是唯一的,但在登录系统时不是用UID,而是用登录名.在讲文件权限之之前,先了解下linux是怎样处理用户账户的.以及用户账户需要的文件和工具,这样处理文件权限问题时,就知道如何使用它们了. 1.1  /etc/passwd用户文件 /etc/passwd 是用来将用户的登录名,匹配到对应的UID上.它包含了一些与用户有关的信息.下面截取二个片断.如下图所示: root用户账户是linux系统管理员,固定

机械节能产品生产企业网站织梦模板【dedecms模板】

模板名称:机械节能产品生产企业网站织梦模板模板介绍:页面简洁简单,容易管理,DEDE5.5内核以上都可以使用:附带测试数据! 模板特点:适合机械电子产品,电子科技类,机械网站类企业网站使用,简单便捷,易于管理,一款值得拥有的织梦网站模板.简洁美观大方的设计风格,图片展示效果绝佳.页面结构简单,利于SEO的优化,模板后台易于管理. 使用程序:织梦DEDECMS5.5以上版本都可以使用. 模板页面:index.htm 首页模板head.htm 头部模板footer.htm 底部模板article_a

最新dedecms网页游戏开服表发号网站源码模板

模板介绍 最新dedecms网页游戏开服表发号网站源码模板,让你更精确的把握游戏开服时间和战略技巧. 这套网页游戏模板是织梦二次开发后的一套网页源码,后台也是经过二次开发后,适合游戏网站的一些参数说明及添加信息. 模板文件: 404.htm            大气的404页面 article_fahao.htm  发号模板详细页 article_time.htm   发号时间详细页 footer_time.htm    发号时间底部模板 head_time.htm      发号时间头部模板

生活服务行业织梦cms模板免费下载

模板介绍: 织梦最新内核开发的模板,该模板属于生活服务行业企业通用类企业使用,自带最新的手机移动端,同一个后台,数据即时同步,简单适用!原创设计.手工书写DIV+CSS,完美兼容IE7+.Firefox.Chrome.360浏览器等:主流浏览器:页面简洁简单,容易管理,DEDE内核都可以使用:附带测试数据! 模板特点: 1.织梦内核最新版支持,含有筛选搜索,tag标签,网站地图利于优化.2.一款利于SEO的模板,手工CSS+DIV,图片ALT,H系列标签已合理运用.3.同步手机站功能,手机站很强

大气智能家居家具装修装饰类企业通用网站织梦模板【dedecms模板】

模板名称:大气智能家居家具装修装饰类企业通用网站织梦模板模板介绍:织梦最新内核开发的模板,适合智能家居家具企业,也可以通用装修行业等企业使用,页面简洁简单,容易管理,DEDE5.5内核以上都可以使用:附带测试数据! 模板特点:1:智能家居家具展示公司模板,代码简洁,风格大气简单,页面干净.2:首页带炫酷的幻灯片,产品展示,新闻展示.3:网站内容都能在后台修改,后台简单易学.4:后台直接修改联系方式.地址.版权信息,网站内容等,修改更加方便. 使用程序:织梦DEDECMS5.5以上版本都可以使用.