• 视图层与模板层


    1.  视图层

      1.1  request 请求对象

        (1)对象的属性
    request.GET
    request.POST
    request.body  # 原生的请求体的内容
    request.path  # 获取当前请求的url
    request.method  # 获取当前请求的方式
    

        (2)对象的方法

    get_full_path()  # 获取当前请求的完整url
    例子: 
    1111 /app01/login2/
    5555 /app01/login2/?name=liuzhihua&age=18
    is_ajax()  # 判断当前请求是否是ajax请求, 返回值为布尔
    

      

      1.2  HTTPResponse响应对象(响应三剑客)

    render 返回模板文件
        必须参数:request、模板文件、可选参数(数据)
    HTTPResponse:返回字符串
    redirect:重定向
    

      

    2. 模板层

      2.1 变量

    {{ name }}
    列表:
      {{list.index}}
    字典:
      {{dict.key}}
    对象:
       属性:
          {{obj.属性}}
       方法:
          {{obj.方法}}
    

      2.2 过滤器(最多两个参数)

    {{ obj|filter_name:Param}}
    

      2.3 标签

    {% tag_name param %}
    for循环
    if流程控制
    csrf_token 跨站请求伪造保护
    

      

       2.4 自定义标签器和标签

      • 确保APP能正常使用
      • 在APP下创建templatetags目录名称(不能是其他名称)
      • 创建一个.py文件
    from django import template
    ​
    register = template.Library()   #register的名字是固定的,不可改变
    ​
    @register.filter
    def my_fitler(v1, v2):
       """自定义过滤器"""
       return v1 * v2
    ​​
    @register.simple_tag
    def my_tag(v1, v2, v3):
       """自定义标签"""
       return v1 * v2 * v3
    

      2.5 模板里进行加载

    {% load my_tags %}
    

      2.6 调用即可

    {{ temp_list.1|my_fitler:temp_list.2 }}{% my_tag temp_list.1 temp_list.2 temp_list.3 %}
    

     

  • 相关阅读:
    web api post/put空值问题以及和angular的冲突的解决
    大话数据结构-图
    大话数据结构-树
    大话数据结构-栈与队列
    大话数据结构-线性表
    redis发布订阅、HyperLogLog与GEO功能的介绍
    redis使用管道pipeline提升批量操作性能(php演示)
    redis设置慢查询日志
    Laravel5.5配置使用redis
    Redis数据类型的常用API以及使用场景
  • 原文地址:https://www.cnblogs.com/NGU-PX/p/14189624.html
Copyright © 2020-2023  润新知