Django的模板语言DTL介绍以及渲染方式

1、前言
  • 视图函数只是直接返回文本,而在实际生产环境中其实很少这样用,因为实际的页面大多是带有样式和HTML代码,这可以让浏览器渲染出非常漂亮的页面。
  • 目前市面上有非常多的模板系统,其中最知名最好用的就是DTL和Jinja2。
  • DTL是 Django Template Language 三个单词的缩写,也就是Django自带的模板语言
  • 当然也可以配置Django支持Jinja2等其他模板引擎,但是作为Django内置的模板语言,和Django可以达到无缝衔接而不会产生一些不兼容的情况,因此建议使用DTL
2、模板和HTML的区别
  • DTL模板是一种带有特殊语法的HTML文件,这个文件可以被Django编译,可以传递参数进去,实现数据动态化。在编译完成后,生成一个普通的HTML文件,然后发送给客户端
  • 当然Django也可以直接渲染普通的HTML文件,只是这样的话,就和静态网站没有什么区别了。
3、模板渲染的方式
1)原始方法
  • Django在django.template.loader模块下提供了render_to_string方法专门进行DTL语言的文件转换成字符串类型功能
from django.http import HttpResponse
from django.template.loader import render_to_string

def book_index(request):
	data = render_to_string('book.html')
	return HttpResponse(data)
#在render_to_string里传入DTL格式的文件即可
2)快捷方式(最常用的方式)
  • Django在django.shortcuts模块里,提供了很多宽街集成方法,方便代码的书写
  • render就是直接完成生成字符串打包成HttpResponse的封装
def book_index(request):
	return render(request,'book.html')
#render里必须先传入request对象,他在渲染文件时可以把用户请求的信息也传入模板中

'''
render(request,'模板文件的路径',context={字典})		#渲染模板
context上下文,值的类型要求必须为字典,将字典中的数据渲染到模板文件中,通过字典的键key取得对应的value
'''
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值