liangzhiwen

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
- django模板: templates
  - 模板分为两个过程:
    1, 加载        :         loader.get_template('xxx.html') 返回值是一个template对象
    2, 渲染        :         template.render(context)
    因为上诉过程过于麻烦,所以Django自己封装一个简单的方法:
          return render(request,'xxx.html',context={})
- 过滤器:
  {{变量名|过滤器}}
- 增减:add
  {{对象.属性 | add : 5 }}    加5   对象.属性 得到必须是数字
  {{对象.属性 | add : -5 }}   减5
- 大小写转换  lower     /      upper
  {{对象.属性 | lower}}  转换为小写    对象.属性 得到必须是英文
  {{对象.属性 | lower}}  转换为大写
- 连接过滤器:
  {{ xxx_data | join:'='}}
- HTML转义----代码注入攻击
  {{ str_data | safe }}     
  safe 出现就可以被js注入攻击
  {% autoescape off %}
                          代码
  {% endautoescape %}
  off 出现就可以被js注入攻击
  {% autoescape on%}
                          代码
  {% endautoescape %}
   on 出现不能被攻击
- 关键字block : 挖坑
  {% block xxx %}
                 code
  {% endblock %}

    同步:  完成一件事情 得到返回时,接下来才能做另一件事情.
    
    异步: 不用等待前一个事情的返回的response消息, 就可以做另外一件事情.
    
    并发: 同时有很多请求在同一段时间发送 时间上重叠
    
    并行: 即同时前进,是在一定条件下达到一种相辅相成,相互促进的关系。 一组程序按独立异步的速度执行,不等于时间上的重叠



- 继承
  1,  extends 继承的页面 写在开头位置 然后跟上{% extends '父模块路径' %}
       {% extends 'xxx.html' %}   继承xxx页面
       {% bliock header %}  #填坑
                    {{ block.super }} // 调用肤洁面里面的block header
                                   <h2> 我同意上面的观点 </h2> //这个是子界面的方法
       {% endblock %}
  2,   include : 加载模块进行渲染    化零为整   
                       {% include '模板文件 %} 

 

posted on 2018-09-14 11:32  liangzhiwen  阅读(104)  评论(0编辑  收藏  举报