• django4-模板,templates


    如何使用templates呢?

      在views.py文件中,函数或者方法通过return render(request,"userInfor.html",{"info_list":info_list})返回一个HttpResponse对象,这样就是在使用模板了,第一个参数request我就不多说了,第二个参数就是你在templates里面新建的userInfor.html文件,第三个是需要传到模板的字典,可以使用 locals()返回一个包含当前作用域里面的所有变量和它们的值的字典。

      可能有些朋友访问不了,怎么回事呢?需要在你的settings.py 添加”app“,添加如下:

    INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    'app',

    ]

    模板的使用

    主要使用两种:过滤器{{ name }}、标签{% for %}

        过滤器我就不说了,比较重要一点就是管道符(|),是变量实用的。值得一提的是模板中列表字典等都是通过点字符调用自己的内容。

    标签有些呢?

      {% for i in list %}  

        跟python的for用法一样

      {% empty %}

        list空显示的内容

      {% endfor %}#结束

    注意,for标签不支持break,countinue。

                                在for循环中其他自定义的东西,如下:

    变量描述
    forloop.counter 索引从 1 开始算
    forloop.counter0 索引从 0 开始算
    forloop.revcounter 索引从最大长度到 1
    forloop.revcounter0 索引从最大长度到 0
    forloop.first 当遍历的元素为第一项时为真
    forloop.last 当遍历的元素为最后一项时为真
    forloop.parentloop

    用在嵌套的 for 循环中,

    获取上一层 for 循环的 forloop

    {% if num > 100%}

      跟python用法一样
    {% else %}
      跟python用法一样
    {% endif %}
     

    request也是局部变量,因此也可以在模板中调用,前提需要在views.py中调用locals()返回一个包含当前作用域里面的所有变量和它们的值的字典。

    当然还有ifequal/ifnotequal标签,url标签,大家可以自己去查一下具体用法。

  • 相关阅读:
    《编程匠艺》读书笔记之十四
    又是一年光棍节
    《编程匠艺》读书笔记之十一
    《编程匠艺》读书笔记之十八
    《编程匠艺》读书笔记之十二
    PDC2008系列之一
    《编程匠艺》读书笔记之十七
    《编程匠艺》读书笔记之九
    《编程匠艺》读书笔记之七
    《编程匠艺》读书笔记之十六
  • 原文地址:https://www.cnblogs.com/hardykay/p/9956489.html
Copyright © 2020-2023  润新知