日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

django的母板系统

發(fā)布時間:2023/12/13 windows 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 django的母板系统 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一.母板渲染語法

  1.變量

    {{ 變量 }}

  2.邏輯

    {% 邏輯語 %}

二.變量

  在母板中有變量時,母板引擎會去反向解析找到這個傳來的變量,然后替換掉.

  .(點),在母板中是深度查詢據(jù)點符,它的查詢順序: 字典 => 屬性或方法 => 數(shù)字索引

三.過濾器

  1.語法

     {{ value|filter_name:參數(shù)}}

  2.常用內(nèi)置過濾器

    {{ value|default:"nothing"}}  如果變量為空就是用默認值

    {{ value|length }}       返回長度,用于字符串和列表

    {{ value|filesizeformat}}  ?  將變量格式化為文件大小格式

    {{ value|slice:"::-1"}}     切片

    {{ value|date:"Y-m-d H:i:s"}} ? 格式化時間

    {{ value|safe}}       ? 設置為安全值,不會誤判為xss攻擊

    {{ value|truncatechars:6}}  ? 以數(shù)量(包含三個點)截斷字符串,剩余部分顯示...

    {{ value|truncatewords:6}}  ? 以單詞數(shù)量截斷字符串,用空格來識別單詞

    {{ value|cut:" "}}        移除value中的字符

    {{ value|join:"_"}}       用字符串連接列表

四.邏輯標簽

  1.for循環(huán)

    {% for i in lst %}

      {{ forloop.counter }}{{ i }}

    {% endfor %}

?

    forloop.counter    從1開始的索引值

    forloop.counter0   ? 從0開始的索引值

    forloop.revcounter  ? ?倒敘到1

    forloop.revcounter0  ? 倒敘到0

    forloop.first      判斷當前循環(huán)是不是第一個,返回bool

    forloop.last      判斷當前循環(huán)是不是最后一個,返回bool

    forloop.parentloop   獲取本層循環(huán)的父級循環(huán)對象,能用以上方法

  2.for...empty

    {% for i in lst %}

      {{ i }}

    {% empty %}

      這個列表lst是空的,不是遍歷到i的值是空的

    {% endfor %}

  3.if條件判斷,基本支持python中的判斷,但是不支持連續(xù)判斷

    {% if 條件 %}

      結(jié)果

    {% elif 條件 %}

      結(jié)果

    {% else %}

      結(jié)果

    {% endif %}

  4.with 別名

    {% with a = 復雜變量 %}? / {% with 復雜變量 as a%}

      {{ a }}? ? ? ? 只能在with語句中使用

    {% endwith %}

  5.csrf_token? 跨站請求偽造保護

    {% csrf_token %}  防止post請求登陸時惡意攻擊

五.繼承

  1.母板

    {% block 變量名 %}

      母板預留位置

    {% endblock %}

  2.繼承板

    {% extends "母板.html" %}

    {% block 變量名 %}

      替換內(nèi)容

    {% endblock %}

  3. 組件

    {% include "文件名.html" %}

六. 自定義標簽和過濾器

  1. 在settings中配置app

  2. 在app中創(chuàng)建templatetags的python包(固定)

  3.在templatetags中創(chuàng)建py文件,自定義過濾器和標簽

from django import template from django.utils.safestring import mark_safe register = template.Library()@register.filter # 自定義過濾器,只能兩個參數(shù),可以if for def f1(x,y):return x*Y@register.simple_tags #自定義標簽,能接收多個參數(shù) def f2():return 1 自定義標簽和過濾器

  4. 使用自定義標簽和過濾器的時候需要導入py文件

    {% load py文件 %}

  5. 自定義標簽和過濾器的使用

    {{ num|filter:y }}    num是第一個參數(shù),y是第二個參數(shù),filter是函數(shù)名

    {% simple_tags 參數(shù)1 參數(shù)2 ...%}  simple_tags是函數(shù)名,參數(shù)用空格隔開

轉(zhuǎn)載于:https://www.cnblogs.com/q767498226/p/10434622.html

總結(jié)

以上是生活随笔為你收集整理的django的母板系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。