欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python Django框架介紹之模板標簽及模板的繼承

 更新時間:2021年05月27日 16:11:43   作者:覓遠  
今天給大家?guī)鞵ython Django框架的相關知識,文中對模板標簽及模板的繼承介紹的非常詳細,對正在學習python的小伙伴們有很好地幫助,需要的朋友可以參考下

一、標簽語法

由%}和 {% 來定義的,例如:{%tag%} {%endtag%},完整的標簽有開始就有結(jié)束,如條件語句,有條件判斷的開始,也對應有條件的結(jié)束。

二、常見標簽

if條件判斷

  • if/elif/else:可以使用and/or/in/not/==/!=/<=/>=,來進行判斷。ifequal/ifnotequal

for循環(huán)

  • for ... in ...:和python中的用法一樣。
  • forloop.counter:當前迭代的次數(shù),下標從1開始。1,2,3....
  • forloop.counter0:當前迭代的次數(shù),下標從0開始。指定下標,上面一種不指定的默認從1開始
  • forloop.revcounter:與forloop.counter一樣,不同在于下標呈倒序,從大到小。
  • forloop.revcounter0:forloop.counter0一樣,不同在于下標呈倒序,從大到小。
  • forloop.frist:返回一個布爾值,如果是第一次迭代,返回true,否則返回false。
  • forloop.last:返回布爾值,如果是最后一次迭代,返回true,否則返回false
  • forloop.parentloop:如果發(fā)生多層for循環(huán)嵌套,那么這個變量返回的是上一層的for。
  • for...in...empty...:如果沒有數(shù)據(jù),跳到empty中。

其他重要標簽

load:加載第三方標簽。常見用的是{% load static%}

url:返回一個命名了的URL的絕對路徑。

with:緩存一個變量。

autoescape:開啟和關閉自動轉(zhuǎn)義。

三、標簽例子

if條件標簽代碼例子

#  views.py文件
def testif(request):
    complex = {
        'name':'python',
    }
    return render(request,'標簽-if.html',complex)
 
#  urls.py文件
urlpatterns = [path('testif/', views.testif),]
<!--if標簽模板文件-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>if模板</title>
    <style>span{font-size: 40px;color: #d70b35;}</style>
</head>
<body>
    {% if name == "python" %}
        這是<span>{{name}}</span>頁面
    {% elif name == "django" %}
        這是<span>{{name}}</span>頁面
    {% else %}
        確定是<span>{{name}}</span>嗎?
    {% endif %}
</body>
</html>

  

for 循環(huán)標簽代碼例子

#  views.py文件
def testfor(request):
    ls = ['1','2','3','4','5']
    complex ={
        'ls':ls,
    }
    return render(request,'標簽-for.html',complex)
 
#  urls.py文件
urlpatterns = [path('testfor/', views.testfor),]
<!--for標簽模板文件-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>for模板</title>
    <style>a{font-size: 25px;}</style>
</head>
<body>
{% for i in ls %}
    {% if forloop.counter == 3 %}
        <a  rel="external nofollow" >百度</a><br>
    {% else %}
        <a  rel="external nofollow" >CSDN</a><br>
    {% endif %}
{% endfor %}
</body>
</html>

  

url頁面轉(zhuǎn)換標簽例子

注意:親測。。。使用url頁面轉(zhuǎn)換標簽的時候,注意模板中的引用模板鏈接名稱應該是urlpatterns中path的name的值,如果是直接使用接口名稱會報錯

錯誤演示

正確演示

代碼

##  views.py文件
def testurl(request):
    return render(request,'URL頁面轉(zhuǎn)換.html')
 
##  urls.py 文件
urlpatterns = [path('testurl/', views.testurl),]
<!--  url標簽模板文件  -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>URL頁面轉(zhuǎn)換</title>
    <style>
        a{font-size: 25px;color: #10e59d
        }
    </style>
</head>
<body>
    <a href="/index/" rel="external nofollow" >index模板</a><br>
    <a href="{% url 'temp' %}" rel="external nofollow" >使用ur標簽temp模板</a><br>
    <a href="{% url 'test' 999 %}" rel="external nofollow" >使用url標簽進行添加參數(shù)傳遞</a>
</body>
</html>

四、模板的繼承

Django模版引擎中最強大也是最復雜的部分就是模版繼承了。使用模板的作用在于提高代碼的復用性。 模版繼承可以讓你創(chuàng)建一個基本的“骨架”模版,它包含您站點中的全部元素,并且可以定義能夠被子模版覆蓋的 blocks。

模板繼承使用extends標簽實現(xiàn)。通過使用block來給子模板開放接口。

1、extends必須是模板中的第一個出現(xiàn)的標簽。

2、子模板中的所有內(nèi)容,必須出現(xiàn)在父模板定義好的block中,否則django將不會渲染。

3、如果出現(xiàn)重復代碼,就應該考慮使用模板。

4、盡可能多的定義block,方便子模板實現(xiàn)更細的需求。

5、如果在某個block中,要使用父模板的內(nèi)容,使用block.super獲取。

代碼例子

<!-- 模板的引用頁 -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>引用頁</title>
    <style>
        .p2{
            font-size: 25px;
            color: blue;
        }
    </style>
</head>
<body>
    <h style="font-size:40px;color:red;">這是引用頁的內(nèi)容</h>
</body>
</html>
<!--  模板的繼承頁  -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>{%  block title %}默認標題{% endblock %}</title>
    <style>
        .p1{font-size: 30px;color: #8dff50
    }
        span{
            font-size: 25px;
            color: darkkhaki;
        }
    </style>
</head>
<body>
{% block content %}
    <span>這是默認內(nèi)容</span>
{% endblock %}
{% block demo %}
    <span>這是演示內(nèi)容</span>
{% endblock %}
</body>
</html>
<!--  模板繼承的主頁  -->
{% extends '模板/繼承頁.html' %}
{% block title %}主頁(繼承與引用){%  endblock  %}
{% block content %}
    <p class="p1">這是通過繼承父類的:{{ block.super }}</p><br>
    <p class="p1">這是子模版的內(nèi)容,沒有寫block就不會顯示</p><br>
{% endblock %}
{% block demo %}
    <p class="p2">這是通過include引用的其他模板的內(nèi)容:{% include '模板/引用頁.html' %}</p>
{% endblock %}

演示結(jié)果

通過設置css樣式,可以看出,繼承主頁繼承和引用了繼承模板文件及引用模板文件中的css樣式。

到此這篇關于Python Django框架介紹之模板標簽及模板的繼承的文章就介紹到這了,更多相關Django框架之模板標簽及模板的繼承內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python實現(xiàn)雙因素驗證2FA的示例代碼

    Python實現(xiàn)雙因素驗證2FA的示例代碼

    雙因素認證(2FA)作為額外安全層為賬號登錄添加了第二層身份驗證。確保賬號持有人是可以訪問數(shù)字身份的唯-用戶。如果不使用雙因表認證,企業(yè)將承擔巨大的安全風險。本文將用Python實現(xiàn)雙因素驗證2FA,需要的可以參考一下
    2022-07-07
  • Python中的偏函數(shù)及其廣泛應用方式

    Python中的偏函數(shù)及其廣泛應用方式

    這篇文章主要介紹了Python中的偏函數(shù)及其廣泛應用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • python實現(xiàn)批處理文件

    python實現(xiàn)批處理文件

    這篇文章主要為大家詳細介紹了python實現(xiàn)批處理文件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • 詳解PyQt5 GUI 接收UDP數(shù)據(jù)并動態(tài)繪圖的過程(多線程間信號傳遞)

    詳解PyQt5 GUI 接收UDP數(shù)據(jù)并動態(tài)繪圖的過程(多線程間信號傳遞)

    這篇文章主要介紹了PyQt5 GUI 接收UDP數(shù)據(jù)并動態(tài)繪圖(多線程間信號傳遞),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • Python之標點符號string.punctuation的使用

    Python之標點符號string.punctuation的使用

    Python的string模塊提供了一個方便的屬性string.punctuation,其中包含所有ASCII標點符號字符,這使得在處理和識別字符串中的標點符號時非常有用,可以通過簡單的in關鍵字來檢測字符是否為標點
    2024-09-09
  • 淺談PYTHON 關于文件的操作

    淺談PYTHON 關于文件的操作

    這篇文章主要介紹了PYTHON 關于文件的操作,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • Python爬取某平臺短視頻的方法

    Python爬取某平臺短視頻的方法

    這篇文章主要介紹了Python爬取某平臺短視頻的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • Python批量修改xml的坐標值全部轉(zhuǎn)為整數(shù)的實例代碼

    Python批量修改xml的坐標值全部轉(zhuǎn)為整數(shù)的實例代碼

    這篇文章主要介紹了Python批量修改xml的坐標值全部轉(zhuǎn)為整數(shù)的實例代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • python 的 scapy庫,實現(xiàn)網(wǎng)卡收發(fā)包的例子

    python 的 scapy庫,實現(xiàn)網(wǎng)卡收發(fā)包的例子

    今天小編就為大家分享一篇python 的 scapy庫,實現(xiàn)網(wǎng)卡收發(fā)包的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python入門基本操作列表排序用法詳解

    Python入門基本操作列表排序用法詳解

    本篇文中主要介紹列表的基本的組成,怎么訪問列表、列表的切片、列表的排序、列表的添加、列表的刪除等內(nèi)容,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-09-09

最新評論