北京网帮你
Django模板引擎(Templates)说明
时间:2019-09-26 19:30:50 浏览:116

Django 中的 模板(Templates)
   1.什么是模板
       模板就是要动态呈现给用户的网页内容
       模板的本质就是网页 - 前后端结合的网页
   2.模板的设置
       在 settings.py中, TEMPLATES 变量

       1.BACKEND : 指定模板的搜索引擎
       2.DIRS : 指定模板的存放目录们
           如果DIRS中为空的话,那么Django会自动的到每个应用中搜索一个叫 templates 的目录作为模板存放目录
       3.APP_DIRS
           True : 优先从DIRS指定的目录中查找模板,如果没找到的话,再搜索应用中的templates目录
   3.模板的加载方式
       1.使用 loader 获取模板,通过HttpResponse进行响应
           from django.template import loader

           def index_views(request):
               #1.通过loader加载模板
               t = loader.get_template("模板名称")
               #2.将模板渲染成字符串
               html = t.render()
               #3.通过HttpResponse响应给客户端
               return HttpResponse(html)

       2.使用render直接加载并返回模板
           def index_views(request):
               return render(request,'模板名称')
   4.模板的语法
       1.变量
           1.作用:允许将后端的数据传递给模板在模板中进行显示
           2.Django中允许作为变量传递给模板的数据类型
               字符串,数字,列表,元组,字典,函数,对象
           3.变量的语法
               变量们必须要封装到字典中才能传递给模板
               1.使用 loader 加载模板
                   dic = {
                       '变量1':'值1',
                       '变量2':'值2',
                       ... ...
                   }

                   t=loader.get_template('模板名称')
                   # 渲染成字符串时需要传递变量字典到模板中
                   return HttpResponse(t.render(dic))
               2.使用render加载并返回模板
                   dic = {
                       '变量1':'值1',
                       '变量2':'值2',
                   }

                   return render(request,'模板名称',dic)
           4.在模板中使用变量
               {{变量名}}
       2.标签
           1.作用
               将服务器端的功能嵌入到模板中
           2.语法
               {% 标签内容 %}
       3.标签详解
           1.comment 标签
               {% comment %}

               {% endcomment %}
               作用:在服务器端就被注释的内容,不会被渲染到客户端的

           2.for 标签
               作用:循环遍历 列表,字典,元组
               语法:
                   {% for 变量 in 列表|字典|数组 %}
                   {% endfor %}

                   循环中允许使用 forloop 内置变量来获取循环相关的信息
                       forloop.counter : 记录当前循环的次数(从1开始计算)
                       forloop.first : 判断是否为第一次遍历
                       forloop.last : 判断是否为最后一次遍历
           3.if标签
               1.if
                   {% if 条件 %}
                       条件满足时要执行的内容
                   {% endif %}
               2.if ... else
                   {% if 条件 %}
                       满足条件时执行的内容
                   {% else %}
                       不满足条件时执行的内容
                   {% endif %}
               3.if...elif...else
                   {% if 条件1 %}
                       满足条件1执行的内容
                   {% elif 条件2 %}
                       或满足条件2执行的内容
                   {% elif 条件3 %}
                       或满足条件3执行的内容
                   {% else %}
                       或都不满足时执行的内容
                   {% endif %}


[上一篇]Django模板过滤器和模板的继承
[下一篇]Django框架创建应用与url路由
Copyright 2022 © 93580.com.cn 网帮你

2022 © 版权所有 红花岗区网帮你信息技术工作室

工信部备案号:黔ICP备2024036985号-2

请使用网帮你微信扫码登录