愚公系列2021年12月 Python教學課程 36-Django自帶模板

      網友投稿 713 2022-05-30

      前言

      模板是一個文本,用于分離文檔的表現形式和內容

      提示:以下是本篇文章正文內容,下面案例可供參考

      一、Django自帶模板

      1.配置

      TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates')], # 此處修改 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ]

      2.定義模板

      在templates目錄中新建一個模板文件,如index.html

      Title {{ city }}

      3.模板渲染

      調用模板分為兩步驟:

      找到模板 loader.get_template(模板文件在模板目錄中的相對路徑) -> 返回模板對象

      渲染模板 模板對象.render(context=None, request=None) -> 返回渲染后的html文本字符串

      context 為模板變量字典,默認值為None request 為請求對象,默認值為None

      例如,定義一個視圖

      from django.http import HttpResponse from django.template import loader def index(request): # 1.獲取模板 template=loader.get_template('index.html') context={'city': '北京'} # 2.渲染模板 return HttpResponse(template.render(context))

      Django提供了一個函數render可以簡寫上述代碼。

      render(request對象, 模板文件路徑, 模板數據字典)

      from django.shortcuts import render def index(request): context={'city': '北京'} return render(request,'index.html',context)

      4.模板語法

      4.1 模板變量

      變量名必須由字母、數字、下劃線(不能以下劃線開頭)和點組成。

      語法如下:

      【愚公系列】2021年12月 Python教學課程 36-Django自帶模板

      {{變量}}

      模板變量可以使python的內建類型,也可以是對象。

      def index(request): context = { 'city': '北京', 'adict': { 'name': '西游記', 'author': '吳承恩' }, 'alist': [1, 2, 3, 4, 5] } return render(request, 'index.html', context)

      4.2 模板語句

      1)for循環:

      2)if條件:

      比較運算符如下:

      == != < > <= >=

      布爾運算符如下:

      and or not

      注意:運算符左右兩側不能緊挨變量或常量,必須有空格。

      4.3 注釋

      1)單行注釋語法如下:

      2)多行注釋使用comment標簽,語法如下:

      5.過濾器

      語法如下:

      使用管道符號|來應用過濾器,用于進行計算、轉換操作,可以使用在變量、標簽中。

      如果過濾器需要參數,則使用冒號:傳遞參數。

      變量|過濾器:參數

      列舉幾個如下:

      safe,禁用轉義,告訴模板這個變量是安全的,可以解釋執行

      length,長度,返回字符串包含字符的個數,或列表、元組、字典的元素個數。

      default,默認值,如果變量不存在時則返回默認值。

      data|default:'默認值'

      date,日期,用于對日期類型的值進行字符串格式化,常用的格式化字符如下:

      Y表示年,格式為4位,y表示兩位的年。 m表示月,格式為01,02,12等。 d表示日, 格式為01,02等。 j表示日,格式為1,2等。 H表示時,24進制,h表示12進制的時。 i表示分,為0-59。 s表示秒,為0-59。 value|date:"Y年m月j日 H時i分s秒"

      6.模板繼承

      模板繼承和類的繼承含義是一樣的,主要是為了提高代碼重用,減輕開發人員的工作量。

      父模板

      如果發現在多個模板中某些內容相同,那就應該把這段內容定義到父模板中。

      標簽block:用于在父模板中預留區域,留給子模板填充差異性的內容,名字不能相同。 為了更好的可讀性,建議給endblock標簽寫上名字,這個名字與對應的block名字相同。父模板中也可以使用上下文中傳遞過來的數據。

      子模板

      標簽extends:繼承,寫在子模板文件的第一行。

      子模版不用填充父模版中的所有預留區域,如果子模版沒有填充,則使用父模版定義的默認值。

      填充父模板中指定名稱的預留區域。

      5G教育 Django Python

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:設計模式的C語言應用-非典型模式-第十章
      下一篇:Hive快速入門系列(7) | Hive常見的屬性配置
      相關文章
      www.91亚洲| 亚洲国产精品成人AV在线| 国产成人精品久久亚洲高清不卡| 亚洲精品不卡视频| 五月天网站亚洲小说| 亚洲av最新在线网址| 亚洲日本乱码在线观看| 中文字幕第一页亚洲| 国产性爱在线观看亚洲黄色一级片 | 久久精品国产亚洲AV久| 亚洲视频在线免费播放| 激情内射亚洲一区二区三区| 久久亚洲精品国产精品| 亚洲毛片免费观看| 亚洲中文字幕久在线| 亚洲av永久无码嘿嘿嘿| 亚洲精品一二三区| 亚洲精品无码av片| 偷自拍亚洲视频在线观看99| 亚洲?V无码成人精品区日韩 | 精品久久久久久久久亚洲偷窥女厕| 亚洲а∨精品天堂在线| 国产亚洲精品仙踪林在线播放| 亚洲av麻豆aⅴ无码电影| 亚洲国产午夜福利在线播放| 亚洲一级黄色视频| 黑人大战亚洲人精品一区| 国产亚洲人成无码网在线观看| 久久亚洲国产伦理| 亚洲毛片免费视频| 亚洲熟女综合一区二区三区| 老牛精品亚洲成av人片| 婷婷综合缴情亚洲狠狠尤物| 红杏亚洲影院一区二区三区| 久久91亚洲精品中文字幕| 91亚洲导航深夜福利| 亚洲综合丁香婷婷六月香| 亚洲AV无码一区二区三区电影 | 亚洲精品成a人在线观看| 中文字幕久久亚洲一区| 亚洲国产一成人久久精品|