Django视图层、模板层
过滤器方法
- upper 大写方式输出
- add 给value加上一个数值
- capfirst 第一个字母大写
- center 输出指定长度的字符串,把变量居中
- cut 删除指定字符串
- date 格式化日期
- default 如果值不存在,则使用默认值代替
- length 返回列表中元素的个数或字符串长度
- length_is 检查列表,字符串长度是否符合指定值
标签的方法
for标签
{% for 临时遍历 in 序列%}....{%endfor%}
- forloop.counter 当前循环的索引值(从1开始)
- forloop.counter0 当前循环的索引值(从0开始)
- forloop.revcounter 当前循环的倒序索引(从1开始)
- forloop.revcounter0 当前循环的倒序索引(从0开始)
- forloop.first 当前循环是不是第一次循环(布尔值)
- forloop.last 当前循环是不是最后一次循环(布尔值)
for...empty标签
如果变量名不存在或者内容为空的时候显示{%empty%}中的内容,否则不执行
{% for game in games%}
...{%empty%}...{%endfor%}
...if标签
(1)if 标签
格式:
{% if 判断条件 %}
… {% endif %} 注: if 语句支持 and、or、==、<、>、!=、<=,>=,in、not in、is、is not判断
(2)if … else 标签
格式:
{% if name_length|length > 6 %}
…
{% else %}
…
{% endif %}
(3).if…elif…else 标签
格式:
{% if name_length|length > 6 %}
…
{% elif age == 20 %}
…
{% else %}
…
{% endif %}
CBV流程
1.首先要编写自定义的视图类,必须继承View类。
2.然后在路由中配置URL调用视图类的as_View方法,也就是view类的as_view方法
3.as_view是一个闭包函数,返回的是view方法。
4.view方法先实例化类视图对象,然后给类视图对象赋值,最后调用dispatch方法
5.dispatch方法先判断该请求方式是否在它所有的方法中,然后通过反射getattr的请求方式获取指定的请求方法(也就是对应的函数),并执行相应的代码块
Django请求生命周期流程图
自定义过滤器,标签的步骤
- 在settings中的INSTALLED_APPS添加当前app的名字,不然django无法找到自定义的过滤器或标签
- 在文件夹app01中创建子文件templatetags
- 在templatetags新建任意py文件,在该文件中自定义过滤器或标签
- 自定义过滤器或标签必须重新启动django生效
Django视图层、模板层的更多相关文章
- day 45 Django 的初识2 路由层,视图层,模板层
前情提要: 今天继续学习Django 的内容, 今天主要和渲染相关 1>配置路由 >2:写函数 >3 指向url 一:路由层 1:配置静态支持文件 1:路由层的简单配置 >dj ...
- web框架开发-Django视图层
视图函数 一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应.响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . ...
- Django视图层
本文目录 1 视图函数 2 HttpRequest对象 3 HttpResponse对象 4 JsonResponse 5 CBV和FBV 6 简单文件上传 回到目录 1 视图函数 一个视图函数,简称 ...
- django学习笔记-模板层
模板层 将Python嵌入到HTML中. 模板简介 将HTML硬解码到视图并不是那么完美原因如下: 对页面设计时也需要对python代码进行相应的修改,模板可以不就行python代码修改的情况下变更设 ...
- Django学习之模板层
三板斧 render,HttpResponse,redirectrender返回一个HTML页面,并且还能够给该页面传数据render内部原理: from django.template import ...
- Django基础之模板层
内容概要 模板层(模板语法) 模板语法传值模板语法过滤器(内置方法)模板语法标签(流程控制)自定义过滤器和标签(了解) 模板的导入与继承(面向对象) 内容详细 1 模板层之模板语法传值 http ...
- django视图层(views)
1.视图层概念 视图函数,其实就是一个简单的函数,它接收web请求并返回web响应(响应的可以是一个html,一个重定向,一个xml文档等等) 每个视图函数都负责返回一个HttpResponse对象. ...
- django——视图层
1. 视图函数 一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应.响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. ...
- Django 视图层
URL映射 1.分布式url映射 include()函数提供分布式url映射功能,使URL映射可以被编写在多个url.py文件中 from django.conf.urls import url fr ...
- DjangoMTV模型之视图层views及模板层template
Django视图层中views的内容 一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应.响应可以是一张网页的HTML内容(render),也可以是一个重定向( ...
随机推荐
- BZOJ4710: [Jsoi2011]分特产 组合数学 容斥原理
题意:把M堆特产分给N个同学,要求每个同学至少分到一种特产,共有多少种分法? 把A个球分给B个人的分法种数:(插板法,假设A个球互不相同,依次插入,然后除以全排列去重) C(A,B+A) 把M堆特产分 ...
- Linux运维---16. Kolla部署OpenStack外接rabbit集群
# 前提时rabbit集群已经搭建完成 vim /etc/kolla/globals.yml enable_rabbitmq: "no" rpc_transport_url: &q ...
- Gin_中间件
gin可以构建中间件,但它只对注册过的路由函数起作用 对于分组路由,嵌套使用中间件,可以限定中间件的作用范围 中间件分为全局中间件,单个路由中间件和群组中间件 gin中间件必须是一个 gin.Hand ...
- 【C语言】求s(n)=a+aa+aaa+...+aa...a的值
原理:比如a=2,s(1)=2,s(2)=2+2*10+2,s(3)=2+2*10+2+(2*10+2)*10+2 ..... 规律: item=item*10+a sum=sum+item 代码 ...
- 智能手机中下一次被消灭的部件是电话卡和TF卡
智能手机中下一次被消灭的部件是电话卡和TF卡. 侧滑实体键盘,实体拍照键,HDMI外接接口,实体切换双卡键,可拆卸后盖……这些都消亡了,被其更好的内在设计所取代.而电话卡和TF卡仍在使用.将来的智能手 ...
- javascript入门(1)
目录 Javascript认识(1) JavaScript 常见事宜 JavaScript介绍 Javascript内容 Javascript书写位置 变量 变量是什么 变量的命名规则 变量提升 数据 ...
- Linux下Libevent安装和简单实用
前言 Libevent 是一个用C语言编写的.轻量级的开源高性能事件通知库,主要有以下几个亮点:事件驱动( event-driven),高性能;轻量级,专注于网络,不如 ACE 那么臃肿庞大:源代码相 ...
- decimal与float和double的区别
一直很奇怪C#的预定义数据类型中为什么加了一个decimal,有float和double不就够了吗?今天来挖一挖. 浮点型 Name CTS Type De script ion Significan ...
- yolov3 讲解
参考博客:https://blog.csdn.net/litt1e/article/details/88907542
- 题解【BZOJ4472】[JSOI2015]salesman
题面 树形\(\text{DP}\)与贪心的结合. 首先考虑树形\(\text{DP}\). 设\(dp_i\)表示从\(i\)出发,访问\(i\)的子树,并且最后回到\(i\)能获得的最大收益. 转 ...