[django]模板template原理
django 中的render和render_to_response()和locals(): http://www.cnblogs.com/wangchaowei/p/6750512.html
什么是contetxt
https://www.zhihu.com/question/26387327
context可以理解为环境变量,不同的环境中意义不同
template模板渲染怎么回事?
def current_datetime(request):
now = datetime.datetime.now()
html = "<html><body>It is now %s.</body></html>" % now
return HttpResponse(html)
>>> python manange.py shell # (进入该django项目的环境)
>>> from django.template import Context, Template
>>> t = Template('My name is {{ name }}.')
>>> c = Context({'name': 'Stephane'})
>>> t.render(c)
'My name is Stephane.'
# Low
for name in ('John', 'Julie', 'Pat'):
t = Template('Hello, {{ name }}')
print t.render(Context({'name': name}))
# Good
t = Template('Hello, {{ name }}')
for name in ('John', 'Julie', 'Pat'):
print t.render(Context({'name': name}))
def current_time(req):
#django模板修改的视图函数
now=datetime.datetime.now()
t=Template('<html><body>现在时刻是:<h1 style="color:red">{{current_date}}</h1></body></html>')
#t=get_template('current_datetime.html')
c=Context({'current_date':now})
html=t.render(c)
return HttpResponse(html)
https://docs.djangoproject.com/zh-hans/2.1/topics/http/shortcuts/
调用关系
render调用HttpResponse
template细节整理
1.
redirect:url发生改变
和render区别, render url没有发生变化.
-
2.
return render(request,"login.html",locals())
模板
渲染原理
template
contentxt
t.render(context)
render函数
arr.1
d.name
obj.name
template函数:
https://docs.djangoproject.com/en/2.0/ref/templates/builtins/
{{ value|truncatechars_html:9 }}
<p>Joel i...</p>
http://www.cnblogs.com/yuanchenqi/articles/6083427.html
搜索fliter.
add : 给变量加上相应的值 {{ value2|add:3 }}
addslashes : 给变量中的引号前加上斜线
capfirst : 首字母大写
cut : 从字符串中移除指定的字符
date : 格式化日期字符串
default : 如果值是False,就替换成设置的默认值,否则就是用本来的值
default_if_none: 如果值是None,就替换成设置的默认值,否则就使用本来的值
1,时间
#import datetime
#value4=datetime.datetime.now()
{{ value4|date:'Y-m-d' }}<br>
2.#value5=[]
{{ value5|default:'空的' }}<br>, 结果是true
default_if_none, 结果是none
3,safe方法
# a = '<a href=''>click</a>'
# 返回给模板
{{ a|safe }} #默认字符串, 将链接解析
{% autoescape off %}
<h1>{{a}}</h1>
{% endautoescape %}
[django]模板template原理的更多相关文章
- django模板(template)
模板层(template) 你可能已经注意到我们在例子视图中返回文本的方式有点特别. 也就是说,HTML被直接硬编码在 Python代码之中. 1 2 3 4 def current_datetime ...
- Django之模板Template
模板介绍 作为Web框架,Django提供了模板,可以很便利的动态生成HTML 模版系统致力于表达外观,而不是程序逻辑 模板的设计实现了业务逻辑(view)与显示内容(template)的分离,一个视 ...
- Django 模板(Template)
1. 模板简介 2. 模板语言 DTL 3. 模板继承 4. HTML 转义 5. CSRF 1. 模板简介 作为 Web 开发框架,Django 提供了模板,可以很便利的动态生成 HTML.模版系统 ...
- Django——模板层(template)(模板语法、自定义模板过滤器及标签、模板继承)
前言:当我们想在页面上给客户端返回一个当前时间,一些初学者可能会很自然的想到用占位符,字符串拼接来达到我们想要的效果,但是这样做会有一个问题,HTML被直接硬编码在 Python代码之中. 1 2 3 ...
- Django模板语言(Template)
1.变量 变量相关用 { { } } 逻辑相关用{% %} 2.Filter过滤器 (1)default 如果一个变量是false或者为空,使用给定的默认值. 否则,使用变量的值. {{ va ...
- django模板语言之Template
当前端的一些数据需要后端传送过来并展示时,用到了django的模板语言,模板语言的作用就是,在后端把一些处理好的数据,通过模板语言所规定的格式,通过render渲染,放到前端页面固定的位置展示.这之间 ...
- Django之模板(Template)
Django模板系统 官方文档 每一个Web框架都需要一种很便利的方法用于动态生成HTML页面. 最常见的做法是使用模板. 模板包含所需HTML页面的静态部分,以及一些特殊的模版语法,用于将动态内容插 ...
- Django 模板系统(template)
介绍 官方文档 常用模板语法 只需要记两种特殊符号: {{ }} 和 {% %} 变量相关的用{{}} 逻辑相关的用{%%} 变量 {{ 变量名 }} 变量名由字母数字和下划线组成. 点(.)在模 ...
- Django框架简介及模板Template,filter
Django框架简介 MVC框架和MTV框架 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View) ...
随机推荐
- Android textview及其子类
属性: android:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接.可选值(none/web/email/phone/map/all) andr ...
- Material Design系列第一篇——Creating Apps with Material Design
Creating Apps with Material Design //创建Material Design的App Material design is a comprehensive guide ...
- Mysql错误:Duplicate entry '127' for key 'PRIMARY'的解决方法
有时候真是挺幸运,正当我自以为是地认为掌握了某个知识点的时候,现实就会马上出现另外一个问题,让我知道之前的认知是不全面的. 正如我上篇博文中所述,如果一个自增字段达到了上限,而且继续向里面插入数据的话 ...
- css3整理--box-shadow
box-shadow语法:(想法:用阴影来做边框,就不会出现动态改变边框宽度而产生的重排问题) 对象选择器{box-shadow:投影方式 X轴偏移量 Y轴偏移量 阴影模糊半径 阴影扩展半径 阴影颜色 ...
- smarty 双引号中嵌入变量的方法
1.如果变量中只包含字符.数字.下划线,可以将变量直接写在双引号中,如:"my name is $name" 2.如果带有其它字符,如“.”,则需要将变量用单引号括起来,如:“my ...
- OpenGL ES 系列教程
http://www.linuxgraphics.cn/graphics/opengles_tutorial_index.html 本文收集了一套 OpenGL ES 系列教程. www.play3d ...
- 使用JSP的fmt标签实现国际化支持
使用JSP的fmt标签配置i18n国际化资源文件可以实现根据不同的地区和语言切换不同的显示. 具体做法如下: 1.在JSP页面中添加fmt标签的引用: <%@ taglib prefix=&qu ...
- dhroid - DhNet 网络http工具
extends:http://www.eoeandroid.com/thread-327440-1-1.html DhNet net=new DhNet("路劲"); ne ...
- 算法学习之快速排序的C语言实现
近几天在学习简单算法,今天看了一个快速排序和堆排序,堆排序还没搞懂,还是先把快速排序搞清楚吧 教程网上一艘一大堆,这里选择一个讲的比较通俗的的一个吧: http://blog.csdn.net/mor ...
- 9.12DjangoORM回顾和路由.
2018-9-12 13:44:41 周末继续整理一下博客!不知不觉记了好多! 越努力越幸运! 永远不要高估自己! 关于反射的复习 # /usr/bin/env python # -*- coding ...