pythonWeb -- Django开发-模板 自带的模板哦

来源:互联网 发布:mac环境变量在哪 编辑:程序博客网 时间:2024/05/24 07:15

【 什么是模板】   

就是一个文本,把文档的表现和内容分开。通常是为了生成最终的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_responsedef moban(request):    # 参数是接收Request请求对象return render_to_response('tem1.html',{'name':" Django"}) # 其中name对应模板里的{{name变量}} 值是 Django

3.注册urls.py
url(r'^moban/$',moban),

4.启动服务


5.浏览器查看 /moban