Django模板系列之六

来源:互联网 发布:松下plc软件序列号 编辑:程序博客网 时间:2024/06/05 10:29

1,定义

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

2,创建模板

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

这里写图片描述

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

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

这里写图片描述

3,定义模板

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

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>测试模板</title></head><body><h1>我是测试模板文件</h1><br/>模板变量:{{content}}<br/>使用列表:{{list}}<br/><ul>    {% for i in list%}    <li>{{i}}</li>    {% endfor %}</ul></body></html>

4,视图调用模板

调用模板分为三步骤:

  • 1.找到模板
  • 2.定义上下文
  • 3.渲染模板
    打开booktest/views.py文件,调用上面定义的模板文件
from django.http import HttpResponsefrom django.template import loader,RequestContextdef 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))

这里写图片描述

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

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

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

from django.shortcuts import renderdef index(request):    context={'content':'hello python','list':range(0,6)}    return render(request,'booktest/index.html',context)
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 娃娃和老师有隔阂了怎么办 大人字写得不好怎么办 不会写好看的字怎么办 无限量流量限速了怎么办 长期化妆后皮肤变黄怎么办 手机密码忘记了打不开怎么办 手机解压包不知道密码怎么办 手机屏图标没了怎么办 b站页面卡顿怎么办 被全景视觉骗了怎么办? 逆战进去没声音怎么办 Mac电脑ai卡住了怎么办 pr字幕打不了字怎么办 pr手写字多笔画怎么办 家中挖矿噪音很大怎么办 学了栏目包装不想干怎么办 在文本打字乱了怎么办 体考后觉得成绩有出入怎么办 荧光棒进眼睛里怎么办 无法读源文件或磁盘怎么办 爱剪辑视频横着怎么办 pr界面字体太小怎么办 0p手机卡槽坏了怎么办 pr视频有水波纹怎么办 手机耳机插口插上没声音怎么办 xp系统电脑没有声音怎么办 win10笔记本耳机没声音怎么办 电脑插耳机还是外放怎么办 主机电脑耳机插孔坏了怎么办 苹果6plus有点卡怎么办 手机拨通电话后黑屏怎么办 手机拨通后没声音怎么办 苹果手机铃声不响了怎么办 婴儿喘气粗好像有痰怎么办 金毛呼吸声很大怎么办 回看福建导视该怎么办 楼上木地板走路声音都很响怎么办 班里团支不搭理我我该怎么办 客户买家具说贵怎么办 英雄联盟超出显示范围怎么办 脸上有斑点怎么办内条