Django--模版層

模版層(templates):css

  後端朝前端進行傳遞數據的方式:  html

def index(request):
    # 第一種
    n = 6969
    # return render(request, 'index.html', {'n': n})
    # 第二種
    return render(request, 'index.html', locals())  # 將當前所在的名稱空間中的名字所有傳遞給前端頁面

 

    後端傳函數名到前端,會自動加括號調用,可是不支持傳參,前端

    後端傳對象到前端,就至關於打印了這個對象python

    前端獲取後端傳過來的容器類型的內部元素,統一採用句點符,數字對應的就是數據的索引django

<p>{{ t.1 }}</p>

 

    模版語法的註釋不會展現到前端頁面:{#註釋的內容#}後端

    會展現到前端頁面的註釋:<!--我是原生的html註釋-->函數

    調用python自帶的方法,能夠調用不須要傳參的一些內置方法,oop

  過濾器: spa

    <p>前端統計字符串的長度:{{ t|length }}</p>code

    <p>前端獲取數據若是就返回default後面的值若是有值就返回{{ t|default:"這是個空!!!" }}</p>

    <p>將數字格式化成標識文件大小的單位{{ t|filesizeformat}}</p>

 

    <p>格式化時間不須要加百分號{{ t|date:'Y-m-d'}}</p>

    <p>字符串切片{{ t|slice:"0:8"}}</p>

    <p>截取固定長度的字符串 三個點也算{{ t|truncatechars:'10' }}</p>

    <p>將字符串中的內容渲染成標籤形式的內容,取消轉義{{ t|safe}}</p>

  標籤:

    先後端取消轉義:

      前端:

        |safe

      後端:

from django.utils.safestring import mark_safe

xxx = mark_safe('<h1>index</h1>')

 

    

{% for foo in t %} 
    {% if forloop.first %}
        <p>這個是第一次</p>
    {% elif forloop.last %}
        <p>這個是最後一次</p>
    {% else %}
        <p>這個只是中間的值!!!</p>
    {% endif %}
    {% empty %}
        <p>我壓根就沒有接收到數據啊!!!</p>
{% endfor %}

    

 

 

    empty:當你的for循環對象爲空的時候會自動走empty代碼塊中的內容

  自定義標籤、過濾器,inclusion_tag:

    必須乾的三件事:

      一、必須在應用名下新建一個名字,就叫tempalte(必須叫這個名字)

      二、在該新建的文件夾內部新建一個任意名稱的py文件

      三、在該py文件中須要固定寫下面兩句代碼:

         from django import template

         register = template.Library()

    自定義標籤:

      

  模版的繼承與導入:

    首先須要在被繼承的模版中劃分多個區域

    {% block 給區域起的別名 %}

    {% endblock %}
    一般一個模版中至少有三塊content、css、js

    子版繼承模版:

      現繼承模版的全部內容

      {% extends 'home.html' %}

      而後根據block的名字修改指定區域的內容

        {% block content %}
        <form action="">
        <p>username<input type="text" class="form-control"></p>
        <p>password<input type="text" class="form-control"></p>
      <input type="submit" class="btn btn-success">
        </form>
        {% endblock %}
    模版的導入:
      將一段html代碼以模塊的方式導入到另外一個html展現
      
      {% include '想導入的一段html文件'%}    
相關文章
相關標籤/搜索