The Definitive Guide To Django 2 学习笔记(六) 第四章 模板 (二)使用模板系统
2013-11-15 16:31
856 查看
模板系统不是django特有的,它是python的一个库,你可以在任何地方使用它。
使用方法:
1.使用 Template()方法创建Template对象。2.调用Template对象的render()方法。
创建Template对象
在mysite项目中,输入python manage.py shell 启动交互解释器。
输出:
0xb7d5f24c 每次都不一样,它是python内部的识别标识。
如果代码有错,会出现错误提示。
block tag这里指代 {%notatag%}.
系统触发了TemplateSyntaxError异常 因为以下情形:
1.无效的tages
2.无效的参数
3.无效的过滤器
4.无效的template syntax
5.未闭合的tags
展示模板
创建完模板后,接下来就可以给模板一个Context,然后可以填充数据了:
需要指出的是这里的字符串是Unicode,这可以从字符串的前缀u看出来。
使用方法:
1.使用 Template()方法创建Template对象。2.调用Template对象的render()方法。
>>> from django import template >>> t = template.Template('My name is {{ name }}.') >>> c = template.Context({'name': 'Adrian'}) >>> print t.render(c) My name is Adrian. >>> c = template.Context({'name': 'Fred'}) >>> print t.render(c) My name is Fred.
创建Template对象
在mysite项目中,输入python manage.py shell 启动交互解释器。
>>> from django.template import Template >>> t = Template('My name is {{ name }}.') >>> print t
输出:
<django.template.Template object at 0xb7d5f24c>
0xb7d5f24c 每次都不一样,它是python内部的识别标识。
如果代码有错,会出现错误提示。
>>> from django.template import Template >>> t = Template('{% notatag %}') Traceback (most recent call last): File "<stdin>", line 1, in ? ... django.template.TemplateSyntaxError: Invalid block tag: 'notatag'
block tag这里指代 {%notatag%}.
系统触发了TemplateSyntaxError异常 因为以下情形:
1.无效的tages
2.无效的参数
3.无效的过滤器
4.无效的template syntax
5.未闭合的tags
展示模板
创建完模板后,接下来就可以给模板一个Context,然后可以填充数据了:
>>> from django.template import Context, Template >>> t = Template('My name is {{ name }}.') >>> c = Context({'name': 'Stephane'}) >>> t.render(c) u'My name is Stephane.'
需要指出的是这里的字符串是Unicode,这可以从字符串的前缀u看出来。
相关文章推荐
- C#多线程访问主线程UI元素
- Building a WebRTC Client for Android
- Arduino 各种模块篇 震动模块 vibrator module
- fastboot using guide
- UITextField
- String vs StringBuffer vs StringBuilder in Java
- 25 Core Java Questions and Answers from Job Interviews Software developer
- Ubuntu12.04安装build环境问题解决
- Top 15 Java Multithreading, Concurrency Interview Questions Answers asked in Investment banks
- The Definitive Guide To Django 2 学习笔记(五) 第四章 模板 (一)基本模板系统
- 在UltraEdit (UEStudio)使用技巧及其中的正则表达式
- iOS7的UITableViewCell的clipsToBounds默认是YES
- js 空数组是true还是false
- 如何避免 有潜在危险的 Request.Form 值
- Django request session cookie
- The Definitive Guide To Django 2 学习笔记(四) 动态URLs
- 关于谷歌地图的问题:requires unavailable shared library com.google.android.maps
- iOS7 UITableView 分割线变短
- iOS开发 提交应用出现this bundle is invalid. armv7s are required to include armv7 architecture
- 最长公共字串算法, 文本比较算法, longest common subsequence(LCS) algorithm