【 什么是模板】
就是一个文本,把文档的表现和内容分开。通常是为了生成最终的HTML页面
1.Django是自带模板 Flask是jinja2
【简单的Django模板例子】
1.使用变量的值
{{变量val}}
2.循环
{% for x in xList %}
...
{% endfor %}
3.控制流
{% if 表达式==true/false %}
....
{% else %}
....
{% endif %}
【如何使用模板系统】
【模板也是跟HttpResponse等一样是一个类 我们通过实例化模板Template对象使用】
方法1.创建一个Template模板对象 注意是对象
方法2.调用模板对象的render方法,传入一组变量值context
写个demo看看
1.在项目目录下 DjangoDemo 启动shell
python manage.py shell
2.
from django import template
a = template.Template("hello, {{name}}") #创建也该模板对象
c = template.Context({"name":"巴拉"}) #写一个模板参数对象。
print(a.render(c)) #render渲染模板 KV匹配
【模板加载】 **Django版本不同有差异。
1.在你的注册的APP项目下面
创建文件夹templates 存放你的模板文件
【目前版本Django似乎这个文件名字是默认的 不允许修改
而且必须放在你的注册的目录下
然后你就唔需要配置模板的位置了,默认就是这个位置这个文件】
2.写一个模板 tem1.html
<html>
<head></head>
<body>
Smome Just Like This ....:)
<div style="color:red">
Welcome {{name}} !!!
</div>
</body>
</html>
【模板的配置】 **Django版本不同有差异。
写好模板 然后 setting.py配置你的模板文件位置
TEMPLATE_DIRS = os.path.join(os.path.dirname(__file__),"templates")
{{注意 上述都算旧版本的Django1.7.15的 新版本不这样了}}
现在是必须在你的注册的APP那个目录下 新建templates文件
1.名字必一致 不能修改 固定的
2.必须在你注册的APP目录下面。
3.不需要你在setting.py配置你的模板文件位置 默认自动扫描这个固定位置的。
1. django.template.loaders.filesystem.Loader:默认开启,从TEMPLATE_DIRS路径中加载模板
2. django.template.loaders.app_directories.Loader:默认开启,这个装载器会在每一个INSTALLED_APPS
注册的app目录下寻找templates子目录,如果有的话,就会在子目录中加载模板。这样就可以把模板和
app放在一起,方便重用
【使用模板】
使用简单的模板使用方法 即使用 render_to_response 对象
1.在views.py写一个视图函数
from django.shortcuts import render_to_response
def moban(request): # 参数是接收Request请求对象
return render_to_response('tem1.html',{'name':" Django"})
# 其中name对应模板里的{{name变量}} 值是 Django
3.注册urls.py
url(r'^moban/$',moban),
4.启动服务
5.浏览器查看 /moban