Django中的模版的使用

1、实例:查询用户信息,在页面显示,并隔行有底色

test1/views文件

  1. def userinfo(request):
  2. if request.method=='GET':
  3. userinfos=[{'name':'ahaii','age':20},
  4. {'name':'jack','age':23},
  5. {'name':'tom','age':24},
  6. {'name':'rain','age':226},
  7. {'name':'rock','age':22},
  8. {'name':'lily','age':21},
  9. ]
  10. return render(request,'2.html',{'user_obj':userinfos}) #将userinforsuser_obj参数传递给模版2.html

test1/2.html文件

  1.  
  1. <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Title</title>
    </head>
    <body>
    <ul>
    {% for user in user_obj %}
    {#user_obj变量是views中render过来的#}
    {% if forloop.counter|divisibleby:'2' %}
    {#forloop.conter记录for循环的次数,forloop.conter0是从0开始计数,forloop.conter是从1开始计数.divisibleby:'2'表示被2整除#}
    <li style="background: darkgray">name:{{ user.name}},age{{ user.age }}</li>
    {% else %}
    <li>name:{{ user.name}},age{{ user.age }}</li>
    {#无论列表还是字典,取值时都用'.'#}
    {% endif %}
    {% endfor %}
  2.  
  3. </ul>
    </body>
    </html>

2、模版的继承

一个项目中由于页面比较多,而有些页面中头部和底部的内容都是一样的,因此该部分内容无需重写。将内容一样的页面继承已经写好的页面即可。

父页面中,使用关键字 {% block name %}...{% endblock %} 来指定可以被子页面替换的内容。

子页面中,使用关键字{% extends '父页面' %} 来指定将要继承的页面,使用关键字 {% block name %}...{% endblock %} 来指定替换的内容。

继承语法 '{% extends '父页面' %}' 必须写在页面的顶部,并且一个页面只能继承一个模版。  

3、模块引用

在一些项目中,往往会有多处需要登陆。这样可以将登陆单独写在一个html中,页面中需要登陆时直接引用该html页面就可以了。页面中引用其它html页面使用关键字{% include'登陆.html' %}即可。

Django中templates使用的补充的更多相关文章

  1. django中templates阅读笔记

    一.基本知识 1.模版是独立于django的,可以独立运行. 模版变量是用两个大括号括起来的字符串,表示变量.例如{{ person_name }} 模版标签,是用一对大括号和一对百分号括起来的,例如 ...

  2. Django 中url补充以及模板继承

    Django中的URL补充 默认值 在url写路由关系的时候可以传递默认参数,如下: url(r'^index/', views.index,{"name":"root& ...

  3. Django中的Templates

    1.定义: 定义和flask框架中的是一样的,唯一的不同就是Django中有自己的模板引擎,并非Jinja2,因此有一些不同之处. 2.模板的设置 在 settings.py 中 设置 TEMPLAT ...

  4. django中的ORM与 应用与补充

    目录 django中的ORM与 应用与补充 ORM与数据的对应关系 ORM 常用字段 ORM 其他字段 自定义字段 字段参数 Model Meta参数 常用13中查询(必会) 单表查询的双下划线应用 ...

  5. Django中url匹配规则的补充

    Django中url匹配规则是在urls.py文件中配置的. 1.关于正则匹配优先级 在url匹配列表中,如果第一条和第二条同时满足匹配规则,则优先匹配第一条. 在url匹配列表中,如果第一条为正则模 ...

  6. django中request对象详解(转载)

    django中的request对象详解 Request 我们知道当URLconf文件匹配到用户输入的路径后,会调用对应的view函数,并将  HttpRequest对象  作为第一个参数传入该函数. ...

  7. 在Django中使用ORM创建图书管理系统

    一.ORM(对象关系映射) 很多语言的web框架中都有这个概念 1. 为什么要有ORM? 1. 写程序离不开数据,要使用数据就需要连接数据库,但是不同的数据库在sql语句上(mysql,oracle等 ...

  8. Django中自定义admin---Xadmin的实现

    在Django框架中,自带一个后台管理页面admin,这个管理页面很全,但是,有些并不是我们需要的,所以我们可以根据admin的实现流程来自定义自己的需求,即根据admin的实现方式来实现自定制--X ...

  9. Django中的request到底有啥属性

    Django中的request到底有啥属性呢 Request 我们知道当URLconf文件匹配到用户输入的路径后,会调用对应的view函数,并将  HttpRequest对象  作为第一个参数传入该函 ...

随机推荐

  1. node-canvas

    1.使用之前需要预先安装  Cairo 本人安装遇到各种各样的坑,可以参考这里来填坑:https://github.com/Automattic/node-canvas/wiki/Installati ...

  2. 相对协议-关于src里//开头的知识

    "相对协议",也就是链接以 // 开头,前面去掉了 http: 或 https: 字样, 这样做的好处是浏览器能够根据你的网站所采用的协议来自动加载 CDN 上托管的文件!

  3. equals和hashcode为什么要一起重写

    equals()方法与hashCode()的通用协定是:2.1 如果两个对象相等(equal),那么必须拥有相同的哈希码(hash code)2.2 即使两个对象有相同的哈希值(hash code), ...

  4. Codeforces Round #390 (Div. 2)

    时隔一个月重返coding…… 期末复习了一个月也不亏 倒是都过了…… 就是计组61有点亏 复变68也太低了 其他都还好…… 假期做的第一场cf 三道题 还可以…… 最后room第三 standing ...

  5. 今天学习的裸板驱动之GPIO实验学习心得

    GPIO分成很多组今天学习的这个芯片的GPIO有GPA-GPJ个组.具体可在芯片手册中看到. GPIO有很多寄存器,今天学习的这个芯片,他的寄存器分为以下几种类型: (1)端口控制寄存器 (2)端口数 ...

  6. CUDA开发时用到的各种Linux命令

    cat 读取文件中的全部内容. 例:cat cuda_add.cu

  7. asp.net——初识多线程

    1.首先讲解一下什么是线程(该定义是参考线程的百度百科) 线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元.一个标准的线程由线程ID,当前指令指针( ...

  8. [HMLY]2.CocoaPods详解----进阶

    作者:wangzz 原文地址:http://blog.csdn.net/wzzvictory/article/details/19178709 转载请注明出处   一.podfile.lock文件   ...

  9. RedHat9.0下载地址

    RedHat下载:http://archive.download.redhat.com/pub/redhat/linux/9/en/iso/i386/

  10. EasyUI DataGrid 添加 Footer

    做后台管理界面时,EasyUI 的 DataGrid 经常会被用到,有时候一些总的统计数据不合适放在数据表格里,需要单独显示,这时候就可以放在Footer中显示而不必另外布局. 该怎么给 DataGr ...