python django的模板的基本使用方式
来源:互联网 发布:电信移动网络自由切换 编辑:程序博客网 时间:2024/05/19 19:12
一 在python中使用Django模板的基本方式
1使用原始的模板代码字符串创建一个Tmeplate对象,Django同样支持用指定模板文件路径的方式来创建Template对象
2调用模板对象的render方法并且闯入一条变量context。它将返回一个基于模板展现的字符串,模板中的变量和标签会被context替换掉
#coding=utf-8
from django import template
from django.conf import settings
settings.configure()
t = template.Template('my name is {{ name }}.')
c = template.Context({'name': '王尼玛'})
print t.render(c)
print type(t.render(c))
二python的字典数据类型就是关键字和他们值的一个映射,context和字典十分类似
from django.conf import settings
from django.template import Template, Context
settings.configure()
raw_template = '''your name {{ name }}
your job {{ job }}
your pay {{ pay }}
your brithday {{ bdate|date:"F j, Y" }}'''
t = Template(raw_template)
import datetime
c = Context({'name': 'John Smith',
'job': 'coder',
'pay': 2000,
'bdate' : datetime.date(1993, 7, 24) })
print t.render(c)
三同一模板, 多个实例
from django.template import Template, Context
from django.conf import settings
settings.configure()
Bad
for name in ('John', 'Julie', 'Pat'):
t = Template('Hello, {{ name }}')
print t.render(Context({'name': name}))
Good
t = Template("your name is {{ name }}")
for item in ['John', 'waston', 'kylen']:
c = Context({ 'name' : item})
print t.render(c)
四深度变量的查找, 通过context传递的简单参数值主要是字符串,然而模板系统可以非常简洁的处理更加简洁的数据结构比如list dictionary
from django.template import Template, Context
from django.conf import settings
settings.configure()
person = {'name':'sally', 'age':21}
t = Template("Her name is {{person.name}}, age {{age}} ")
c = Context({'person':person})
print t.render(c)
五.可以通过句点来访问对象的属性,比如python的date,date有year month和day属性
import datetime
from django.conf import settings
from django.template import Template, Context
settings.configure()
d = datetime.date(2014, 10, 27)
print d.year
print d.month
print d.day
t = Template("The year is {{date.year}},\
the month is {{date.month}},\
the day is {{date.day}} ")
c = Context({'date':d})
print t.render(c)
六.通过句点访问自定义对象的属性
from django.conf import settings
from django.template import Template, Context
settings.configure()
class Person(object):
def __init__(self, first_name, last_name):
self.first_name = first_name
self.last_name = last_name
t = Template("Long time no see {{ person.first_name}} {{person.last_name}}")
print t.render(Context({ 'person':Person('Guido', 'Rossum') }))
七。通过句点访问对象的方法(注意只能访问没有参数的方法)jj
from django.conf import settings
from django.template import Template, Context
settings.configure()
t = Template("{{ var }} -- {{ var.upper}} -- {{ var.lower }} -- {{var.isdigit}}")
print t.render(Context({'var':'interesting'}))
print t.render(Context({'var':'124'}))
八句点也可以访问列表索引
from django.conf import settings
from django.template import Template, Context
settings.configure()
mylist = ['lunus', 'rossum']
t = Template("the second name of the list is {{item.2}}")
print t.render(Context({'item':mylist}))
九 句点可以多多级深度嵌套
from django.conf import settings
from django.template import Template, Context
settings.configure()
person = {'name':'linus', 'age':'56'}
t = Template('{{person.name.upper}} -- {{person.age}} years old.')
c = Context({ 'person':person})
print t.render(c)
十方法的其他调用行为
1使用原始的模板代码字符串创建一个Tmeplate对象,Django同样支持用指定模板文件路径的方式来创建Template对象
2调用模板对象的render方法并且闯入一条变量context。它将返回一个基于模板展现的字符串,模板中的变量和标签会被context替换掉
#coding=utf-8
from django import template
from django.conf import settings
settings.configure()
t = template.Template('my name is {{ name }}.')
c = template.Context({'name': '王尼玛'})
print t.render(c)
print type(t.render(c))
二python的字典数据类型就是关键字和他们值的一个映射,context和字典十分类似
from django.conf import settings
from django.template import Template, Context
settings.configure()
raw_template = '''your name {{ name }}
your job {{ job }}
your pay {{ pay }}
your brithday {{ bdate|date:"F j, Y" }}'''
t = Template(raw_template)
import datetime
c = Context({'name': 'John Smith',
'job': 'coder',
'pay': 2000,
'bdate' : datetime.date(1993, 7, 24) })
print t.render(c)
三同一模板, 多个实例
from django.template import Template, Context
from django.conf import settings
settings.configure()
Bad
for name in ('John', 'Julie', 'Pat'):
t = Template('Hello, {{ name }}')
print t.render(Context({'name': name}))
Good
t = Template("your name is {{ name }}")
for item in ['John', 'waston', 'kylen']:
c = Context({ 'name' : item})
print t.render(c)
四深度变量的查找, 通过context传递的简单参数值主要是字符串,然而模板系统可以非常简洁的处理更加简洁的数据结构比如list dictionary
from django.template import Template, Context
from django.conf import settings
settings.configure()
person = {'name':'sally', 'age':21}
t = Template("Her name is {{person.name}}, age {{age}} ")
c = Context({'person':person})
print t.render(c)
五.可以通过句点来访问对象的属性,比如python的date,date有year month和day属性
import datetime
from django.conf import settings
from django.template import Template, Context
settings.configure()
d = datetime.date(2014, 10, 27)
print d.year
print d.month
print d.day
t = Template("The year is {{date.year}},\
the month is {{date.month}},\
the day is {{date.day}} ")
c = Context({'date':d})
print t.render(c)
六.通过句点访问自定义对象的属性
from django.conf import settings
from django.template import Template, Context
settings.configure()
class Person(object):
def __init__(self, first_name, last_name):
self.first_name = first_name
self.last_name = last_name
t = Template("Long time no see {{ person.first_name}} {{person.last_name}}")
print t.render(Context({ 'person':Person('Guido', 'Rossum') }))
七。通过句点访问对象的方法(注意只能访问没有参数的方法)jj
from django.conf import settings
from django.template import Template, Context
settings.configure()
t = Template("{{ var }} -- {{ var.upper}} -- {{ var.lower }} -- {{var.isdigit}}")
print t.render(Context({'var':'interesting'}))
print t.render(Context({'var':'124'}))
八句点也可以访问列表索引
from django.conf import settings
from django.template import Template, Context
settings.configure()
mylist = ['lunus', 'rossum']
t = Template("the second name of the list is {{item.2}}")
print t.render(Context({'item':mylist}))
九 句点可以多多级深度嵌套
from django.conf import settings
from django.template import Template, Context
settings.configure()
person = {'name':'linus', 'age':'56'}
t = Template('{{person.name.upper}} -- {{person.age}} years old.')
c = Context({ 'person':person})
print t.render(c)
十方法的其他调用行为
0 0
- python django的模板的基本使用方式
- python django模板的使用
- Django入门-4:模板的基本使用
- Django模板的使用
- Django模板的使用
- django模板的使用
- Django-模板的使用
- django入门与学习-模板的基本使用-4
- Django笔记---模板的使用
- django-模板标签的使用
- python下的web开发框架-Django,django模板的使用
- python下的web开发框架-Django,django模板的使用
- Python+Django+SAE系列教程10-----Django的模板
- [python]1.Django的基本用法
- 【Django】启动Python的两种方式
- 2、Django中模板的使用
- Django开发博客-(2)模板的使用
- 第三章:Django的模板使用
- android visible invisible和gone的区别
- 动态规划 - 金矿模型
- 智能家居感想
- C++创建动态数组
- 【LCA】"文艺 = #{一路向北} 二B = #{跳你就使劲跳}"
- python django的模板的基本使用方式
- oracle中grouping和grouping_id
- 【jQuery】jQuery基础
- Hadoop Yarn(一)—— 单机伪分布式环境安装
- 百度面试题
- OpenCV 读取图片时候行字节数的算法
- 8.08 UIDatepicker mark 标记 设置输入框的inputView
- 深入理解 linux swapper 进程
- BZOJ 1622: [Usaco2008 Open]Word Power 名字的能量