国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - django模板結構優化的方法

django模板結構優化的方法

2021-06-03 00:26小短腿電工 Python

這篇文章主要介紹了django模板結構優化的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

模版結構優化

引入模版

有時候一些代碼是在許多模版中都用到的。如果我們每次都重復的去拷貝代碼那肯定不符合項目的規范。一般我們可以把這些重復性的代碼抽取出來,就類似于Python中的函數一樣,以后想要使用這些代碼的時候,就通過 include 包含進來。這個標簽就是 include 。示例代碼如下:

?
1
2
3
4
5
6
7
8
9
10
# header.html
<p>我是header</p>
 
# footer.html
<p>我是footer</p>
 
# main.html
{% include 'header.html' %}
<p>我是main內容</p>
{% include 'footer.html' %}

include 標簽尋找路徑的方式。也是跟 render 渲染模板的函數是一樣的。

默認 include 標簽包含模版,會自動的使用主模版中的上下文,也即可以自動的使用主模版中的變量。如果想傳入一些其他的參數,那么可以使用 with 語句。示例代碼如下:

?
1
2
3
4
5
# header.html
<p>用戶名:{{ username }}</p>
 
# main.html
{% include "header.html" with username='huangyong' %}

模板繼承:

在前端頁面開發中。有些代碼是需要重復使用的。這種情況可以使用 include 標簽來實現。也可以使用另外一個比較強大的方式來實現,那就是模版繼承。模版繼承類似于 Python 中的類,在父類中可以先定義好一些變量和方法,然后在子類中實現。模版繼承也可以在父模版中先定義好一些子模版需要用到的代碼,然后子模版直接繼承就可以了。并且因為子模版肯定有自己的不同代碼,因此可以在父模版中定義一個block接口,然后子模版再去實現。以下是父模版的代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
  <link rel="stylesheet" href="{% static 'style.css' %}" rel="external nofollow" />
  <title>{% block title %}我的站點{% endblock %}</title>
</head>
 
<body>
  <div id="sidebar">
    {% block sidebar %}
    <ul>
      <li><a href="/" rel="external nofollow" >首頁</a></li>
      <li><a href="/blog/" rel="external nofollow" >博客</a></li>
    </ul>
    {% endblock %}
  </div>
  <div id="content">
    {% block content %}{% endblock %}
  </div>
</body>
</html>

這個模版,我們取名叫做 base.html ,定義好一個簡單的 html 骨架,然后定義好兩個 block 接口,讓子模版來根據具體需求來實現。子模板然后通過 extends 標簽來實現,示例代碼如下:

?
1
2
3
4
5
6
7
8
9
10
{% extends "base.html" %}
 
{% block title %}博客列表{% endblock %}
 
{% block content %}
  {% for entry in blog_entries %}
    <h2>{{ entry.title }}</h2>
    <p>{{ entry.body }}</p>
  {% endfor %}
{% endblock %}

需要注意的是:extends標簽必須放在模版的第一行。

子模板中的代碼必須放在block中,否則將不會被渲染。

如果在某個 block 中需要使用父模版的內容,那么可以使用 {{block.super}} 來繼承。比如上例, {%block title%} ,如果想要使用父模版的 title ,那么可以在子模版的 title block 中使用 {{ block.super }} 來實現。

在定義 block 的時候,除了在 block 開始的地方定義這個 block 的名字,還可以在 block 結束的時候定義名字。比如 {% block title %}{% endblock title %} 。這在大型模版中顯得尤其有用,能讓你快速的看到 block 包含在哪里。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://www.jianshu.com/p/dbd8912b7b1a

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 中文字幕人成乱码在线观看 | www.44181com| 日韩一区二区三区视频 | 中文字幕在线精品 | 九九免费精品视频 | 午夜影院免费看 | 综合久久综合久久 | 亚洲第一成人在线视频 | 九色在线视频 | 中文字幕在线观看一区 | www.亚洲| 天天躁日日躁狠狠躁 | 亚洲免费a | 亚洲国产一区二区三区日本久久久 | 日韩和的一区二在线 | 亚洲成人av在线 | 久久xxx | 日韩精品在线一区 | 成人av电影在线观看 | 国产成年人网站 | 久久久精彩 | 日韩欧美一区二区三区 | 欧美日韩中文在线观看 | 综合网激情五月 | 久久久久亚洲美女啪啪 | 九热在线视频 | 6080亚洲精品一区二区 | 一本一道久久精品综合 | 国产三级 | 91社区在线高清 | 国产美女一区二区 | 欧美大片高清在线观看平台 | 久久久官网 | 亚洲永久免费视频 | 亚洲国产精品一二三区 | 久久久精品免费视频 | 91精品麻豆日日躁夜夜躁 | 国产成人精品久久二区二区91 | 国产老头老太作爱视频 | 欧美一区二区精品 | 精品一区二区电影 |