中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

django-模板

發布時間:2020-07-11 14:52:47 來源:網絡 閱讀:515 作者:lixiaobo994 欄目:開發技術

模板

作為Web 框架,Django 需要一種很便利的方法以動態地生成HTML。最常見的做法是使用模板。模板包含所需HTML輸出的靜態部分,以及一些特殊的語法,描述如何將動態內容插入。

變量

        用{{}}包圍的是變量,如`person_name`,

過濾器

可以通過使用 過濾器來改變變量的顯示。

        {{ship_date|date:"F j, Y"}}把ship_date變量傳遞給過濾器,并給date過濾器傳遞了一個參數“F j, Y”,date過濾器以給定參數的形式格式化日期

default

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

{{ value|default:"nothing" }}

如果 value沒有被提供,或者為空, 上面的例子將顯示“nothing”。

length

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

{{ value|length }}

filesizeformat

將該數值格式化為一個 “人類可讀的” 文件容量大小 (例如 '13 KB', '4.1 MB', '102 bytes', 等等)。例如:

{{ value|filesizeformat }}  

標簽

用{% %}包圍的是塊標簽,如{%if ordered_warranty%}

for

循環數組中的每個元素。例如,顯示 athlete_list中提供的運動員列表:

<ul>

{% for athlete in athlete_list %}

<li>` athlete`.`name `</li>

{% endfor %}

</ul>

if, elif, and else

計算一個變量,并且當變量是“true”是,顯示塊中的內容:

{% if athlete_list %}

Number of athletes: {{ athlete_list|length }}

{% elif athlete_in_locker_room_list %}

Athletes should be out of the locker room soon!

{% else %}

No athletes.

{% endif %}

自定義標簽和過濾器

代碼布局

在app下創建一個templatetags包,然后再里面創建相應的python處理代碼

在模板中{% load 自定義處理模塊名 %}加載

自定義標簽處理代碼

from django import template

register = template.Library()

@register.simple_tag

def current_time(format_string):

return datetime.datetime.now().strftime(format_string)

html中

{% current_time '%Y-%m-%d %X' %}


模板繼承

模版繼承可以讓您創建一個基本的“骨架”模版,它包含您站點中的全部元素,并且可以定義能夠被子模版覆蓋的 blocks 。

        母板:

<!DOCTYPE html>

<html lang="en">

<head>

<link rel="stylesheet" href="style.css" />

<title>{% block title %}My amazing site{% endblock %}</title>

</head>


<body>

<div id="sidebar">

{% block sidebar %}

<ul>

<li><a href="/">Home</a></li>

<li><a href="/blog/">Blog</a></li>

</ul>

{% endblock %}

</div>


<div id="content">

{% block content %}{% endblock %}

</div>

</body>

</html>

它定義了一個可以用于兩列排版頁面的簡單HTML骨架。“子模版”的工作是用它們的內容填充空的blocks。

在這個例子中, block 標簽定義了三個可以被子模版內容填充的block。 block 告訴模版引擎: 子模版可能會覆蓋掉模版中的這些位置。


        子板:

extends標簽是這里的關鍵。它告訴模版引擎,這個模版“繼承”了另一個模版。當模版系統處理這個模版時,首先,它將定位父模版——在此例中,模版引擎將注意到 base.html 中的三個 block 標簽,并用子模版中的內容來替換這些block

{% extends "base.html" %}

{% block title %}My amazing blog{% endblock %}

{% block content %}

{% for entry in blog_entries %}

<h3>` entry`.`title `</h3>

<p>` entry`.`body `</p>

{% endfor %}

{% endblock %}

        


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

凤台县| 英德市| 修文县| 甘洛县| 南通市| 桂林市| 扶余县| 申扎县| 阿鲁科尔沁旗| 揭阳市| 墨脱县| 许昌市| 长武县| 临泉县| 天峻县| 桓仁| 星子县| 清远市| 方城县| 东方市| 庆云县| 景谷| 江油市| 周口市| 怀安县| 昌吉市| 桦川县| 济阳县| 兴文县| 哈密市| 石嘴山市| 大港区| 临海市| 大埔县| 宾川县| 六盘水市| 张家口市| 响水县| 北安市| 阳高县| 定边县|