码迷,mamicode.com
首页 > 其他好文 > 详细

Django视图层、模板层

时间:2019-10-28 21:11:26      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:django   序列   临时   last   赋值   install   大写   attr   fir   

过滤器方法

  • 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视图层、模板层

标签:django   序列   临时   last   赋值   install   大写   attr   fir   

原文地址:https://www.cnblogs.com/lzss/p/11755227.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!