Django 模板调用
2015-09-18 15:13
375 查看
$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 %}
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 %}
相关文章推荐
- django signal
- 冒泡排序Bubble sort-golang
- Google浏览器离线安装包下载
- django:TemplateDoesNotExist错误的解决方法
- Django框架开发中避免表单重复提交
- Round A APAC Test 2016 Problem A. Googol String
- Ubuntu 14.04 LTS下安装Google Chrome浏览器
- GoLang学习 -- goroutine使用指南
- django 1.8 官方文档翻译:13-6 分页
- 微软:我家的深度学习超越了人类和Google
- Mac 终端里神秘的 bogon 及解决方法
- 解决Django发送中文邮件时的编码及乱码问题
- VIEWGOOD(远古)政府、企业集团多媒体培训系统方案分析
- 人性化:谷歌员工可相互借用假期
- Golang适合高并发场景的原因分析
- 有关google的guava工具包详细说明
- google chrome插件开发,自己动手,丰衣足食
- mongo
- ubuntu安装google chrome浏览器
- Spatial Pyramid Matching for Recognizing Natural Scene Categorie(阅读)