django模板之自定义模板
2018-12-03 01:39
585 查看
使用环境:同上一篇django文章。
启动web服务:
cd py3/django-test1/test4
python manage.py runserver 192.168.255.70:8000
一、先演示在html模板中使用for标签循环:
编辑视图:
vim bookshop/views.py from django.shortcuts import render from .models import * #查询一个值 #def index(request): # hero = HeroInfo.objects.get(pk=1) #查询主键(pk)=1的条目 # context = {'hero':hero} # return render(request,'bookshop/index.html',context) #查询多个值,在html模板中循环 def index(request): list = HeroInfo.objects.filter(isDelete=False) context = {'list1':list} return render(request,'bookshop/index.html',context)
编辑html模板:
vim templates/bookshop/index.html <!DOCTYPE html> <html> <head> <title>Title</title> </head> <body> {{ hero.hname }}<br> {{hero.showname}} <hr> <ul> {% for hero in list1 %} <!--使用{{% for .. in ...%}}....{% endfor %}循环django传递过来的list1上下文对象,{{ forloop.counter }}是显示循环的第几次--> <li>{{forloop.counter }}: {{ hero.showname }}</li> <!-- #点号解析顺序:<br> #1.先把hero作为字典,showname为键查找<br> #2.再把hero作为对象,showname为属性或方法查找<br> #3.最后把hero作为列表,showname为索引查找<br> --> <!--{% empty %}是在视图函数中list = HeroInfo.objects.filter(isDelete=True)时,查询不存在的数据才显示的内容--> {% empty %} <li>没找到任何符合是数据!</li> {% endfor %} </ul> </body> </html>
浏览器访问:http://19 5b4 2.168.255.70:8000/
显示:
二、演示在html模板中使用if标签判断、注释、过滤器
仅修改html模板即可:
vim templates/bookshop/index.html <!DOCTYPE html> <html> <head> <title>Title</title> </head> <body> {# 这是单行注释 #} {% comment %} 这是 多行 注释 {% endcomment %} <ul> {% for hero in list1 %} <!--使用{% if %}判断,循环出的结果中,奇数行字体显示为蓝色,偶数行为红色--> {% if forloop.counter|divisibleby:"2" %} <!--除2运算使用过滤器(即|)--> <li style="color:red">{{forloop.counter }}: {{ hero.showname }}</li> {% else %} <li style="color:blue">{{forloop.counter }}: {{ hero.showname }}</li> {%&nbs 38f8 p;endif %} {% empty %} <li>没找到任何符合是数据!</li> {% endfor %} </ul> </body> </html>
浏览器访问:http://192.168.255.70:8000/
显示:
相关文章推荐
- Django自定义模板过滤器和标签
- Django 博客开发教程 10 - 页面侧边栏:使用自定义模板标签
- django自定义模板引用问题
- DJANGO模板的BLOCK自定义技巧
- django创建自定义模板处理器的实例详解
- 编写自定义的Django模板加载器的简单示例
- [django]在模板上自定义显示内容(django tag)
- Django模板语言中的自定义方法filter过滤器实现web网页的瀑布流
- 利用django-suit模板在管理后台添加自定义的菜单和自定义的页面、设置访问权限
- 编写自定义的Django模板加载器的简单示例
- Django模板之自定义tag和filter
- Django 自定义过滤器和模板标签
- Django之博客系统:自定义模板标签
- Django 快速搭建博客 第八节(自定义模板,归档,分类页面)
- Django | 模板 自定义 context_processors
- DJANGO之自定义模板过滤器
- 在Django框架中自定义模板过滤器的方法
- Django入门教程(五)自定义模板标签和过滤器
- Django——模板层(template)(模板语法、自定义模板过滤器及标签、模板继承)
- 自定义django模板的 tags和filters