Django模板系列之六

1,定义

在Django中,将前端的内容定义在模板中,然后再把模板交给视图调用,各种漂亮、炫酷的效果就出现了。

2,创建模板

为应用booktest下的视图index创建模板index.html,目录结构如下图:

Django模板系列之六_第1张图片
这里写图片描述

设置查找模板的路径:打开test1/settings.py文件,设置TEMPLATES的DIRS值

'DIRS': [os.path.join(BASE_DIR, 'templates')],

Django模板系列之六_第2张图片
这里写图片描述

3,定义模板

打开templtes/booktest/index.html文件,在里面写模板代码




    
    测试模板


我是测试模板文件


模板变量:{{content}}
使用列表:{{list}}
    {% for i in list%}
  • {{i}}
  • {% endfor %}

4,视图调用模板

调用模板分为三步骤:

  • 1.找到模板
  • 2.定义上下文
  • 3.渲染模板
    打开booktest/views.py文件,调用上面定义的模板文件
from django.http import HttpResponse
from django.template import loader,RequestContext

def index(request):
    # 1.获取模板
    template=loader.get_template('booktest/index.html')
    # 2.定义上下文
    context=RequestContext(request,{'content':'hello python','list':range(0,6)})
    # 3.渲染模板
    return HttpResponse(template.render(context))

Django模板系列之六_第3张图片
这里写图片描述

5,视图调用模板简写(推荐这种)

视图调用模板都要执行以上三部分,于是Django提供了一个函数render封装了以上代码。 方法render包含3个参数:

第一个参数为request对象
第二个参数为模板文件路径
第三个参数为字典,表示向模板中传递的上下文数据
打开booktest/views.py文件,调用render的代码如下:


from django.shortcuts import render

def index(request):
    context={'content':'hello python','list':range(0,6)}
    return render(request,'booktest/index.html',context)

你可能感兴趣的:(Django模板系列之六)