第57天:django學習(六)

模版之過濾器

????????語法:

{{obj|filter__name:param}}  變量名字|過濾器名稱:變量

default

????????如果一個變量是false或者為空,使用給定的默認值。否則,使用變量的值。例如:

{{ value|default:"nothing"}}

length

????????返回值的長度。它對字符串和列表都起作用。例如:

{{ value|length }}

filesizeformat

????????將值格式化為一個 “人類可讀的” 文件尺寸 (例如 '13 KB', '4.1 MB', '102 bytes', 等等)。例如:

{{ value|filesizeformat }}

date

????????如果 value=datetime.datetime.now()

{{ value|date:"Y-m-d"}}

slice

????????如果 value=”hello world”

{{ value|slice:"2:-1"}}

truncatechars

????????如果字符串字符多于指定的字符數量,那么會被截斷。截斷的字符串將以可翻譯的省略號序列(“…”)結尾。

{{ value|slice:"2:-1"}}

safe

value="<a href="">點擊</a>"
{{ value|safe}} ?

模版之標簽

????????標簽看起來像是這樣的: {% tag %},標簽比變量更加復雜:一些在輸出中創建文本,一些通過循環或邏輯來控制流程,一些加載其后的變量將使用到的額外信息到模版中。一些標簽需要開始和結束標簽 (例如{% tag %} ...標簽 內容 ... {% endtag %})

for標簽

????????遍歷每一個元素

{% for person in person_list %}<p>{{ person.name }}</p>
{% endfor %}

????????遍歷一個字典:

{% for key,val in dic.items %}<p>{{ key }}:{{ val }}</p>
{% endfor %}
?
{% for foo in d.keys %}<p>{{ foo }}</p>
{% endfor %}
?
{% for foo in d.values %}<p>{{ foo }}</p>
{% endfor %}
?
{% for foo in d.items %}<p>{{ foo }}</p>
{% endfor %}

for...empty

{% for person in person_list %}<p>{{ person.name }}</p>
?
{% empty %}<p>sorry,no person here</p>
{% endfor %}

if 標簽

????????會對一個變量求值,如果它的值是True(存在、不為空、且不是boolean類型的false值),對應的內容塊會輸出。

{% if num > 100 or num < 0 %}<p>無效</p>
{% elif num > 80 and num < 100 %}<p>優秀</p>
{% else %}<p>湊活吧</p>
{% endif %}
  • if語句支持 and 、or、==、>、<、!=、<=、>=、in、not in、is、is not判斷。

with

{% with d.hobby.3.info as nb  %}<p>{{ nb }}</p><p>{{ d.hobby.3.info }}</p>
{% endwith %}
  • 在with語法內就可以通過as后面的別名快速的使用到前面非常復雜獲取數據的方式

csrf_token

{% csrf_token%}
  • 這個標簽用于跨站請求偽造保護

模版導入入和繼承? ? ?

????????寫一個被導入的模板adv.html

<div class="adv"><div class="panel panel-default"><div class="panel-heading"><h3 class="panel-title">Panel title</h3></div><div class="panel-body">Panel content</div></div><div class="panel panel-danger"><div class="panel-heading"><h3 class="panel-title">Panel title</h3></div><div class="panel-body">Panel content</div></div><div class="panel panel-warning"><div class="panel-heading"><h3 class="panel-title">Panel title</h3></div><div class="panel-body">Panel content</div></div>
</div>

????????寫一個模板來導入base.html,用來導入adv.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="/static/js/jquery_3.7.1_jquery.min.js"></script><link rel="stylesheet" href="/static/bootstrap-3.4.1-dist/css/bootstrap.min.css"><script src="/static/bootstrap-3.4.1-dist/js/bootstrap.min.js"></script><style>* {margin: 0;padding: 0;}
?.header {height: 50px;width: 100%;background-color: #369;}</style>
</head>
<body>
<div class="header"></div>
<div class="container"><div class="row"><div class="col-md-3">{% include 'adv.html' %}</div><div class="col-md-9">{% block conn %}<h1>你好</h1>{% endblock %}</div></div>
</div>
</body>
</html>

????????寫一個模板index.html,來繼承base.html

{% extends 'base.html' %}
?
{% block conn %}{{ block.super }}
?
我是主頁
?
{% endblock conn%}

常見的查詢方法

查詢方法描述
all()查詢所有數據
filter()帶有過濾條件的查詢
get()直接拿數據對象 但是條件不存在直接報錯
first()拿queryset里面第一個元素
distinct()去重
order_by排序
reverse()反轉
count()統計個數
exclude排除
exist判斷是否存在

?

基于雙下滑線的查詢

????????

查詢參數描述
age__gt=大于
age__lt=小于
age__gte=大于等于
age__lte=小于等于
age__in=[數字1,數字2,數字3]成員運算
age__range=[數字1,數字2]范圍運算
字段名__contains=包含
字段名__startswith=以……開頭
字段名__endswith=以……結尾
日期字段__day=查天數
日期字段__month=查月份
日期字段__year=查年份

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/211687.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/211687.shtml
英文地址,請注明出處:http://en.pswp.cn/news/211687.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

IDEA啟動應用時報錯:錯誤: 找不到或無法加載主類 @C:\Users\xxx\AppData\Local\Temp\idea_arg_filexxx

IDEA啟動應用時報錯&#xff0c;詳細錯誤消息如下&#xff1a; C:\devel\jdk1.8.0_201\bin\java.exe -agentlib:jdwptransportdt_socket,address127.0.0.1:65267,suspendy,servern -XX:TieredStopAtLevel1 -noverify -Dspring.output.ansi.enabledalways -Dcom.sun.management…

基于以太坊的智能合約開發Solidity(事件日志篇)

//聲明版本號&#xff08;程序中的版本號要和編譯器版本號一致&#xff09; pragma solidity ^0.5.17; //合約 contract EventTest {//狀態變量uint public Variable;//構造函數constructor() public{Variable 100;}event ValueChanged(uint newValue); //事件聲明event Log(…

ElasticSearch之cat plugins API

命令樣例如下&#xff1a; curl -X GET "https://localhost:9200/_cat/plugins?vtrue&pretty" --cacert $ES_HOME/config/certs/http_ca.crt -u "elastic:ohCxPHQBEs5*lo7F9"執行結果輸出如下&#xff1a; name component version…

class064 Dijkstra算法、分層圖最短路【算法】

class064 Dijkstra算法、分層圖最短路【算法】 算法講解064【必備】Dijkstra算法、分層圖最短路 code1 743. 網絡延遲時間 // Dijkstra算法模版&#xff08;Leetcode&#xff09; // 網絡延遲時間 // 有 n 個網絡節點&#xff0c;標記為 1 到 n // 給你一個列表 times&…

法律服務網站建設效果如何

律師事務所及法律知識咨詢機構等往往是眾多人群需求的服務&#xff0c;服務多樣化及內容多元化&#xff0c;市場中也有大量品牌&#xff0c;在實際消費服務中大多以本地事務所為主&#xff0c;而線上咨詢服務則一般沒有區域限制&#xff0c;同行增多及人們知識獲取渠道增加&…

C++-引用和指針區別

文章目錄 1.變量的組成2.指針2.1 定義2.2 使用指針操作變量2.3 為什么使用指針 3.引用3.1 定義3.2 引用注意事項 4.引用和指針的區別 1.變量的組成 變量的組成&#xff1a;變量地址&#xff0c;變量名&#xff0c;變量值 例&#xff1a; int i 12;2.指針 2.1 定義 指針用于存…

如何為游戲角色3D模型設置紋理貼圖

在線工具推薦&#xff1a; 3D數字孿生場景編輯器 - GLTF/GLB材質紋理編輯器 - 3D模型在線轉換 - Three.js AI自動紋理開發包 - YOLO 虛幻合成數據生成器 - 三維模型預覽圖生成器 - 3D模型語義搜索引擎 當談到游戲角色的3D模型風格時&#xff0c;有幾種不同的風格&#xf…

Mybatis中的查詢操作

單表查詢 單表查詢在《初始Mybatis》中已經介紹過&#xff0c;這里就不在介紹了。咱們這里只說單表查詢中的“like查詢”。like查詢單獨使用#{}報錯 <select id"selectByKeyword" resultType"com.example.demo.entity.Userinfo">select * from use…

計網Lesson8 - NAT技術與鏈路層概述

文章目錄 NAT 技術1. 因特網的接入方式2. 公網和私網3. NAT 技術 鏈路層1. 數據鏈路層概述2. 數據鏈路層的三個問題2.1 封裝成幀2.2 透明傳輸2.3 差錯檢測 NAT 技術 1. 因特網的接入方式 光貓將電信號轉換為數字信號發送給路由器 光纖入戶 光纖傳遞的就是數字信號&#xff0c…

python+pytest接口自動化(12)-自動化用例編寫思路 (使用pytest編寫一個測試腳本)

經過之前的學習鋪墊&#xff0c;我們嘗試著利用pytest框架編寫一條接口自動化測試用例&#xff0c;來厘清接口自動化用例編寫的思路。 我們在百度搜索天氣查詢&#xff0c;會出現如下圖所示結果&#xff1a; 接下來&#xff0c;我們以該天氣查詢接口為例&#xff0c;編寫接口測…

錯題總結(三)

1.寫代碼將三個整數數按從大到小輸出。 例如&#xff1a; 輸入&#xff1a;2 3 1 輸出&#xff1a;3 2 1 int main() {int a 0;int b 0;int c 0;int tep 0;scanf("%d%d%d", &a, &b, &c);if (a < b){tep a;a b;b tep;}if (b < c){tep b…

每日一練2023.12.9—— 矩陣A乘以B【PTA】

題目鏈接&#xff1a;L1-048 矩陣A乘以B 題目要求&#xff1a; 給定兩個矩陣A和B&#xff0c;要求你計算它們的乘積矩陣AB。需要注意的是&#xff0c;只有規模匹配的矩陣才可以相乘。即若A有Ra?行、Ca?列&#xff0c;B有Rb?行、Cb?列&#xff0c;則只有Ca?與Rb?相等時&a…

Linux Shell 基礎命令

Linux 是一個開源的操作系統&#xff0c;其命令行界面是它的重要組成部分。在這個界面下&#xff0c;Shell 是一個能夠與操作系統進行交互的工具。Shell 是一種程序&#xff0c;它能夠接收用戶輸入的命令&#xff0c;并將這些命令發送到操作系統中進行處理。 在 Linux 中&…

Docker實戰筆記 三 Docker私有庫

1.拉取私有庫image rootcenots-7.5:/root#docker pull registry Using default tag: latest latest: Pulling from library/registry c926b61bad3b: Pull complete 5501dced60f8: Pull complete e875fe5e6b9c: Pull complete 21f4bf2f86f9: Pull complete 98513cca25bb: P…

VINS-MONO代碼解讀5----vins_estimator(marginalization部分)

文章目錄 0. 前言1.1 Marginalization Pipiline 1. marg factor構建1.1 變量及維度理解1.2 IMUFactor1.3 ProjectionTdFactor(ProjectionFactor)1.4 MarginalizationFactor( e p e_p ep?推導更新&#xff0c;FEJ解決的問題)1.4.1 先驗殘差的更新1.4.2 先驗Jacobian的更新 2. R…

windows install git

refer: https://developers.weixin.qq.com/miniprogram/dev/devtools/wechatvcs.html https://blog.csdn.net/weixin_40228200/article/details/128451324 在使用小程序的時候&#xff0c;需要初始化項目&#xff0c;需要注冊Git賬號 1.在本地確認cmd沒有安裝Git,進入Git官網…

docker:安裝mysql以及最佳實踐

文章目錄 1、拉取鏡像2、運行容器3、進入容器方式一方式二方式三容器進入后連接mysql和在宿主機連接mysql的區別 持久化數據持久化數據最佳實踐 1、拉取鏡像 docker pull mysql2、運行容器 docker run -d -p 3307:3306 --name mysql-container -e MYSQL_ROOT_PASSWORD123456 …

Botton進一步了解(點擊事件)

點擊事件和長按事件 監聽器&#xff1a;專門監聽控件的動作行為。只有控件發生了指定的動作&#xff0c;監聽器才會觸發開關區執行對應的代碼邏輯。按鈕控件有兩種常用的監聽器&#xff1a; 點擊監聽器&#xff1a;通過setOnClickListener方法設置。按鈕被按住少于500ms時會觸…

2023濟南大學acm新生賽題解

通過答題情況的難度系數&#xff1a; 簽到&#xff1a;ACI 銅牌題&#xff1a;BG 銀牌題&#xff1a;EF 金牌題&#xff1a;DHJKO 賽中暫未有人通過&#xff1a;LMNP A - AB Problem 直接根據公式計算就行。 #include<stdio.h> int main(){int a,b;scanf("%…

安卓MediaRecorder(2)錄制源碼分析

文章目錄 前言JAVA new MediaRecorder() 源碼分析android_media_MediaRecorder.cpp native_init()MediaRecorder.java postEventFromNativeandroid_media_MediaRecorder.cpp native_setup() MediaRecorder 參數設置MediaRecorder.prepare 分析MediaRecorder.start 分析MediaRec…