Django 模板调用

$1.Django 调用模板


1.1 Template、Context方法


包:from django.template import Template,Context
    from django.http import HttpResponse


eg: 
from django.template import Template, Context 
from django.http import HttpResponse 
import datetime 
def current_datetime(request): 
now = datetime.datetime.now() 
t = Template("<html><body>It is now {{ current_date }}.</body></html>") 
html = t.render(Context({'current_date': now})) 
return HttpResponse(html)




1.2 get_template、Context方法


包:from django.template.loader import get_template
    from django.http import HttpResponse


首先在setting.py文件中配置模板文件夹的路径(在TEMPLATE_DIRS的列表中)


eg:
from django.template.loader import get_template 
from django.template import Context 
from django.http import HttpResponse 
import datetime 
def current_datetime(request): 
now = datetime.datetime.now() 
t = get_template('current_datetime.html') 
html = t.render(Context({'current_date': now})) 
return HttpResponse(html)


1.3 reder_to_response()方法


包:from django.shortcuts import render_to_response


不需要导入get_template、Template、Context 和 HttpResponse


eg:
from django.shortcuts import render_to_response 
import datetime 
def current_datetime(request): 
now = datetime.datetime.now() 
return render_to_response('current_datetime.html', {'current_date': now})


locals()方法:是Python的内建函数,它返回的字典对所有局部变量的名称与值进行映射。


def current_datetime(request): 
current_date = datetime.datetime.now() 
return render_to_response('current_datetime.html', locals())


1.4 include模板标签


{% include %}:该标签允许在(模板中)包含其他的模板内容。标签的参数是所要包含的模板名称,
可以是一个变量,也可以是用单/双引号硬编码的字符串。




1.5 模板继承
本质上来说,模板继承就是先构造一个基础框架模板,而后在其子模板中对它所半酣站点公用部分和定义块进行重载。
eg:
1)定义基础模板
eg:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> 
<html lang="en"> 
<head> 
<title>{% block title %}{% endblock %}</title> 
</head> 
<body> 
<h1>My helpful timestamp site</h1> 
{% block content %}{% endblock %} 
{% block footer %} 
<hr> 
<p>Thanks for visiting my site.</p>
{% endblock %} 
</body> 
</html>


2)继承基础模板
eg:
{% extends "base.html" %} 
{% block title %}The current time{% endblock %} 
{% block content %} 
<p>It is now {{ current_date }}.</p> 
{% endblock %}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值