Django的模板

Django模板(Templates)

1、什么是模板

模板就是要动态的给用户呈现的网页内容

其实就是一个网页-前后端结合的网页

2、模板的设置问题

在settings.py中TEMPLATES变量

TEMPLATES=[

{

'BACKEND':'...',

'DIR':[]

}

]

    1、BACKEND:指定模板的搜索引擎,不用动

    2、DIRS:指定模板所存放目录们,但是如果DIRS为空的话,那么Django会自动到每个应用中搜素一个叫templates的目录作为模板的管理目录

推荐:

            1、DIRS内容保持为空

            2、在每个应用中,都创建一个templates的目录

    3、APP_DIRS

         True:首先从DIRS中指定的目录中查找模板,如果没找到的话,在搜素templates目录

3、模板的加载方式

          方式 1、使用loader或取模板,并通过HttpResponse进行响应

                from django.template import loader

                1、通过loader加载模板

                  t=loader.get_template('模板名称')

                 2、通过t对象,将模板渲染成字符串

                   t.render()

                 3、通过HttpResponse将html响应给客户端

                  return HttpResponse(html)

         方式 2、使用render直接加载模板并返回

                 from django.shortcuts import render

                 return render(request,‘模板名称’)

4、模板的语法

         1、变量

                 1、作用:允许将后端的数据传递给模板,在模板中,根据变量的值进行显示

                  2、在django中允许传递给模板做变量的数据类型:数字、字符串、列表、元组、字典、函数、对象

                  3、变量的语法

                            1、loader方式

                             dic={

                                      '变量名1':‘值1’,

                                      '变量名1':‘值2’

                             }

                            t=loader.get_template('xxx.html')

                            html=t.render()

                            return HttpResponse(html)

                        在模板中显示变量:{{变量名}}

                         2、render方式

                             dic={

                                      '变量名1':‘值1’,

                                      '变量名1':‘值2’

                              }

                          return render(request,‘xxx,html’,dic)

2、标签

           1、什么是标签

              允许将服务器的一些功能嵌入到模板中

            2、语法

             {%标签内容%}

            3、常用标签
                1、for
                    {% for 变量 in 列表|元组|字典 %}
                    {% endfor %}
                    允许使用 for 提供的内置变量 - forloop
                    1、forloop.counter 
                        记录当前循环的次数,从1开始
                    2、forloop.first
                        是否是第一次循环(第一项)
                    3、forloop.last
                        是否是最后一次循环(最后一项)

                 2、if

                       1、

                              {%  if   条件%}

                                     满足条件要运行的内容

                               {%endif%}

                               条件中允许使用 比较运算符(> ,<,>=,<=,==,!=),逻辑运算符(not,and,or)

                                注意:and和or不能同时出现

                             2、

                                       {% if 条件 %}
                                       满足条件运行的内容
                                       {% else %}
                                       不满足条件运行的内容
                                       {% endif %}

                            3、
                                      {% if 条件1 %}
                                           满足条件1运行的内容
                                      {% elif 条件2 %}
                                            满足条件2运行的内容
                                       {% elif 条件3 %}
                                            满足条件3运行的内容
                                      {% else %}
                                             以上条件都不满足的时候运行的内容
                                      {% endif %}

                 3、过滤器

                             1、作用:

                                         过滤数据,在显示变量之前。允许对数据进行筛选或改变

                             2、语法
                                  {{变量|过滤器:参数}}
                             3、简单的过滤器
                                      1、{{value|upper}}
                                      将value变为大写字符
                                      2、{{value|lower}}
                                       将value编写小写字符
                                      3、{{value|add:num}}
                                      将num累加到value之后
                                     4、{{value|floatformat:n}}
                                         将value四舍五入到n位小数
                                      5、{{value|truncatechars:n}}
                                         将字符串截取到n位(包含...)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值