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标签,大家可以自己去查一下具体用法。

原文地址:https://www.cnblogs.com/hardykay/p/9956489.html