培訓(xùn)啦 IT技術(shù)

如何設(shè)計組織Django模板

教培參考

教育培訓(xùn)行業(yè)知識型媒體

發(fā)布時間: 2025年05月16日 21:10

2025年【IT技術(shù)】報考條件/培訓(xùn)費用/專業(yè)咨詢 >>

IT技術(shù)報考條件是什么?IT技術(shù)培訓(xùn)費用是多少?IT技術(shù)專業(yè)課程都有哪些?

點擊咨詢

Django在模板引擎中提供了各種機制來幫助我們實現(xiàn)這一目標。在本教程中,我將說明如何使用Django內(nèi)置模板標記塊,擴展和包含來使模板易于維護。



準備工作:

1、Python 3.6

2、Django 2.2

3、AdminLTE 3.0.5

我們目標是將模板文件有效組織起來,避免重復(fù)的代碼引用,我們分四個步驟來實現(xiàn)。

步驟1/4:base.html

將模板分為多個部分,我們知道除了菜單和內(nèi)容外,其他所有內(nèi)容都是可重復(fù)的。我們將制作一個基本模板來容納那些常見的部分,如圖:

在項目文件夾中創(chuàng)建一個文件夾模板。在其中創(chuàng)建一個base.html。將所有常見的片段添加到其中。只需復(fù)制并粘貼以下內(nèi)容,僅是load.html和index.html共享的一部分代碼。

{% load static %}<!DOCTYPE html><!--This is a starter template page. Use this page to start your new project fromscratch. This page gets rid of all links and provides the needed markup only.--><html lang="en"><head>  <meta charset="utf-8">  <meta name="viewport" content="width=device-width,initial-scale=1">  <meta http-equiv="x-ua-compatible" content="ie=edge">  <title>AdminLTE 3 | Starter</title>  <!-- Font Awesome Icons -->  <link rel="stylesheet" href="{% static 'plugins/fontawesome-free/css/all.min.css' %}">  <!-- Theme style -->  <link rel="stylesheet" href="{% static 'dist/css/adminlte.min.css' %}">  <!-- Google Font: Source Sans Pro -->  <link  rel="stylesheet"></head><body class="hold-transition sidebar-mini"><div class="wrapper">  <!-- Navbar -->  <nav class="main-header navbar navbar-expand navbar-white navbar-light">    <!-- Left navbar links -->    <ul class="navbar-nav">      <li class="nav-item">        <a class="nav-link" data-widget="pushmenu" href="#" role="button"><i class="fas fa-bars"></i></a>      </li>      <li class="nav-item d-none d-sm-inline-block">        <a href="index3.html" class="nav-link">Home</a>      </li>      <li class="nav-item d-none d-sm-inline-block">        <a href="#" class="nav-link">Contact</a>      </li>    </ul>    <!-- SEARCH FORM -->    <form class="form-inline ml-3">      <div class="input-group input-group-sm">        <input class="form-control form-control-navbar" type="search" placeholder="Search" aria-label="Search">        <div class="input-group-append">          <button class="btn btn-navbar" type="submit">            <i class="fas fa-search"></i>          </button>        </div>      </div>    </form>    <!-- Right navbar links -->    <ul class="navbar-nav ml-auto">      <!-- Messages Dropdown Menu -->      <li class="nav-item dropdown">        <a class="nav-link" data-toggle="dropdown" href="#">          <i class="far fa-comments"></i>          <span class="badge badge-danger navbar-badge">3</span>        </a>        <div class="dropdown-menu dropdown-menu-lg dropdown-menu-right">          <a href="#" class="dropdown-item">            <!-- Message Start -->            <div class="media">              <img src="{% static 'dist/img/user1-128x128.jpg' %}" alt="User Avatar" class="img-size-50 mr-3 img-circle">              <div class="media-body">                <h3 class="dropdown-item-title">                  Brad Diesel                  <span class="float-right text-sm text-danger"><i class="fas fa-star"></i></span>                </h3>                <p class="text-sm">Call me whenever you can...</p>                <p class="text-sm text-muted"><i class="far fa-clock mr-1"></i> 4 Hours Ago</p>              </div>            </div>            <!-- Message End -->          </a>          <div class="dropdown-divider"></div>          <a href="#" class="dropdown-item">            <!-- Message Start -->            <div class="media">              <img src="{% static 'dist/img/user8-128x128.jpg' %}" alt="User Avatar" class="img-size-50 img-circle mr-3">              <div class="media-body">                <h3 class="dropdown-item-title">                  John Pierce                  <span class="float-right text-sm text-muted"><i class="fas fa-star"></i></span>                </h3>                <p class="text-sm">I got your message bro</p>                <p class="text-sm text-muted"><i class="far fa-clock mr-1"></i> 4 Hours Ago</p>              </div>            </div>            <!-- Message End -->          </a>          <div class="dropdown-divider"></div>          <a href="#" class="dropdown-item">            <!-- Message Start -->            <div class="media">              <img src="{% static 'dist/img/user3-128x128.jpg' %}" alt="User Avatar" class="img-size-50 img-circle mr-3">              <div class="media-body">                <h3 class="dropdown-item-title">                  Nora Silvester                  <span class="float-right text-sm text-warning"><i class="fas fa-star"></i></span>                </h3>                <p class="text-sm">The subject goes here</p>                <p class="text-sm text-muted"><i class="far fa-clock mr-1"></i> 4 Hours Ago</p>              </div>            </div>            <!-- Message End -->          </a>          <div class="dropdown-divider"></div>          <a href="#" class="dropdown-item dropdown-footer">See All Messages</a>        </div>      </li>      <!-- Notifications Dropdown Menu -->      <li class="nav-item dropdown">        <a class="nav-link" data-toggle="dropdown" href="#">          <i class="far fa-bell"></i>          <span class="badge badge-warning navbar-badge">15</span>        </a>        <div class="dropdown-menu dropdown-menu-lg dropdown-menu-right">          <span class="dropdown-header">15 Notifications</span>          <div class="dropdown-divider"></div>          <a href="#" class="dropdown-item">            <i class="fas fa-envelope mr-2"></i> 4 new messages            <span class="float-right text-muted text-sm">3 mins</span>          </a>          <div class="dropdown-divider"></div>          <a href="#" class="dropdown-item">            <i class="fas fa-users mr-2"></i> 8 friend requests            <span class="float-right text-muted text-sm">12 hours</span>          </a>          <div class="dropdown-divider"></div>          <a href="#" class="dropdown-item">            <i class="fas fa-file mr-2"></i> 3 new reports            <span class="float-right text-muted text-sm">2 days</span>          </a>          <div class="dropdown-divider"></div>          <a href="#" class="dropdown-item dropdown-footer">See All Notifications</a>        </div>      </li>      <li class="nav-item">        <a class="nav-link" data-widget="control-sidebar" data-slide="true" href="#" role="button"><i            class="fas fa-th-large"></i></a>      </li>    </ul>  </nav>  <!-- /.navbar -->  <!-- Main Sidebar Container -->  <aside class="main-sidebar sidebar-dark-primary elevation-4">    <!-- Brand Logo -->    <a href="{% url 'home:landing' %}" class="brand-link">      <img src="{% static 'dist/img/AdminLTELogo.png' %}" alt="AdminLTE Logo" class="brand-image img-circle elevation-3"            style="opacity: .8">      <span class="brand-text font-weight-light">AdminLTE 3</span>    </a>    <!-- Sidebar -->    <div class="sidebar">      <!-- Sidebar user panel (optional) -->      <div class="user-panel mt-3 pb-3 mb-3 d-flex">        <div class="image">          <img src="{% static 'dist/img/user2-160x160.jpg' %}" class="img-circle elevation-2" alt="User Image">        </div>        <div class="info">          <a href="#" class="d-block">Alexander Pierce</a>        </div>      </div>      <!-- Sidebar Menu -->      {% block sidebar %}{% endblock %}      <!-- /.sidebar-menu -->    </div>    <!-- /.sidebar -->  </aside>  <!-- Content Wrapper. Contains page content -->  {% block content_wrapper %}{% endblock %}  <!-- /.content-wrapper -->  <!-- Control Sidebar -->  <aside class="control-sidebar control-sidebar-dark">    <!-- Control sidebar content goes here -->    <div class="p-3">      <h5>Title</h5>      <p>Sidebar content</p>    </div>  </aside>  <!-- /.control-sidebar -->  <!-- Main Footer -->  <footer class="main-footer">    <!-- To the right -->    <div class="float-right d-none d-sm-inline">      Anything you want    </div>    <!-- Default to the left -->    <strong>Copyright &copy; 2014-2019 <a >AdminLTE.io</a>.</strong> All rights reserved.  </footer></div><!-- ./wrapper --><!-- REQUIRED scriptS --><!-- jQuery --><script src="{% static 'plugins/jquery/jquery.min.js' %}"></script><!-- Bootstrap 4 --><script src="{% static 'plugins/bootstrap/js/bootstrap.bundle.min.js' %}"></script><!-- AdminLTE App --><script src="{% static 'dist/js/adminlte.min.js' %}"></script></body></html>

請注意,塊content_wrapper用于呈現(xiàn)每個頁面的自定義內(nèi)容。

步驟2/4:刪除冗余的通用代碼

由于我們在上一步中創(chuàng)建了base.html,因此不再需要將通用代碼保留在Landing.html和home.html中。我們應(yīng)該得到如下結(jié)果。

<div class="content-wrapper">  <!-- Content Header (Page header) -->  <div class="content-header">    <div class="container-fluid">      <div class="row mb-2">        <div class="col-sm-6">          <h1 class="m-0 text-dark">Polls Index Page</h1>        </div><!-- /.col -->        <div class="col-sm-6">          <ol class="breadcrumb float-sm-right">            <li class="breadcrumb-item"><a href="#">Home</a></li>            <li class="breadcrumb-item active">Polls</li>          </ol>        </div><!-- /.col -->      </div><!-- /.row -->    </div><!-- /.container-fluid -->  </div>  <!-- /.content-header -->  <!-- Main content -->  <div class="content">    <div class="container-fluid">      <div class="row">        <div class="col-lg-6">          <div class="card">            <div class="card-body">              <h5 class="card-title">Card title</h5>              <p class="card-text">                Some quick example text to build on the card title and make up the bulk of the card's                content.              </p>              <a href="#" class="card-link">Card link</a>              <a href="#" class="card-link">Another link</a>            </div>          </div>          <div class="card card-primary card-outline">            <div class="card-body">              <h5 class="card-title">Card title</h5>              <p class="card-text">                Some quick example text to build on the card title and make up the bulk of the card's                content.              </p>              <a href="#" class="card-link">Card link</a>              <a href="#" class="card-link">Another link</a>            </div>          </div><!-- /.card -->          <!-- general form elements disabled -->          <div class="card card-primary card-outline">            <div class="card-header">              <h3 class="card-title">General Elements</h3>            </div>            <!-- /.card-header -->            <div class="card-body">              <form role="form">                <div class="row">                  <div class="col-sm-6">                    <!-- text input -->                    <div class="form-group">                      <label>Text</label>                      <input type="text" class="form-control" placeholder="Enter ...">                    </div>                  </div>                  <div class="col-sm-6">                    <div class="form-group">                      <label>Text Disabled</label>                      <input type="text" class="form-control" placeholder="Enter ..." disabled>                    </div>                  </div>                </div>                <div class="row">                  <div class="col-sm-6">                    <!-- textarea -->                    <div class="form-group">                      <label>textarea</label>                      <textarea class="form-control" rows="3" placeholder="Enter ..."></textarea>                    </div>                  </div>                  <div class="col-sm-6">                    <div class="form-group">                      <label>textarea Disabled</label>                      <textarea class="form-control" rows="3" placeholder="Enter ..." disabled></textarea>                    </div>                  </div>                </div>                <!-- input states -->                <div class="form-group">                  <label class="col-form-label" for="inputSuccess"><i class="fas fa-check"></i> Input with                    success</label>                  <input type="text" class="form-control is-valid" id="inputSuccess" placeholder="Enter ...">                </div>                <div class="form-group">                  <label class="col-form-label" for="inputWarning"><i class="far fa-bell"></i> Input with                    warning</label>                  <input type="text" class="form-control is-warning" id="inputWarning" placeholder="Enter ...">                </div>                <div class="form-group">                  <label class="col-form-label" for="inputError"><i class="far fa-times-circle"></i> Input with                    error</label>                  <input type="text" class="form-control is-invalid" id="inputError" placeholder="Enter ...">                </div>                <div class="row">                  <div class="col-sm-6">                    <!-- checkbox -->                    <div class="form-group">                      <div class="form-check">                        <input class="form-check-input" type="checkbox">                        <label class="form-check-label">Checkbox</label>                      </div>                      <div class="form-check">                        <input class="form-check-input" type="checkbox" checked>                        <label class="form-check-label">Checkbox checked</label>                      </div>                      <div class="form-check">                        <input class="form-check-input" type="checkbox" disabled>                        <label class="form-check-label">Checkbox disabled</label>                      </div>                    </div>                  </div>                  <div class="col-sm-6">                    <!-- radio -->                    <div class="form-group">                      <div class="form-check">                        <input class="form-check-input" type="radio" name="radio1">                        <label class="form-check-label">Radio</label>                      </div>                      <div class="form-check">                        <input class="form-check-input" type="radio" name="radio1" checked>                        <label class="form-check-label">Radio checked</label>                      </div>                      <div class="form-check">                        <input class="form-check-input" type="radio" disabled>                        <label class="form-check-label">Radio disabled</label>                      </div>                    </div>                  </div>                </div>                <div class="row">                  <div class="col-sm-6">                    <!-- select -->                    <div class="form-group">                      <label>Select</label>                      <select class="form-control">                        <option>option 1</option>                        <option>option 2</option>                        <option>option 3</option>                        <option>option 4</option>                        <option>option 5</option>                      </select>                    </div>                  </div>                  <div class="col-sm-6">                    <div class="form-group">                      <label>Select Disabled</label>                      <select class="form-control" disabled>                        <option>option 1</option>                        <option>option 2</option>                        <option>option 3</option>                        <option>option 4</option>                        <option>option 5</option>                      </select>                    </div>                  </div>                </div>                <div class="row">                  <div class="col-sm-6">                    <!-- Select multiple-->                    <div class="form-group">                      <label>Select Multiple</label>                      <select multiple class="form-control">                        <option>option 1</option>                        <option>option 2</option>                        <option>option 3</option>                        <option>option 4</option>                        <option>option 5</option>                      </select>                    </div>                  </div>                  <div class="col-sm-6">                    <div class="form-group">                      <label>Select Multiple Disabled</label>                      <select multiple class="form-control" disabled>                        <option>option 1</option>                        <option>option 2</option>                        <option>option 3</option>                        <option>option 4</option>                        <option>option 5</option>                      </select>                    </div>                  </div>                </div>              </form>            </div>            <!-- /.card-body -->          </div>          <!-- /.card -->        </div>        <!-- /.col-md-6 -->        <div class="col-lg-6">          <div class="card">            <div class="card-header">              <h5 class="m-0">Featured</h5>            </div>            <div class="card-body">              <h6 class="card-title">Special title treatment</h6>              <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>              <a href="#" class="btn btn-primary">Go somewhere</a>            </div>          </div>          <div class="card card-primary card-outline">            <div class="card-header">              <h5 class="m-0">Featured</h5>            </div>            <div class="card-body">              <h6 class="card-title">Special title treatment</h6>              <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>              <a href="#" class="btn btn-primary">Go somewhere</a>            </div>          </div>        </div>        <!-- /.col-md-6 -->      </div>      <!-- /.row -->    </div><!-- /.container-fluid -->  </div>  <!-- /.content --></div>landing.html頁面代碼:<div class="content-wrapper">  <!-- Content Header (Page header) -->  <div class="content-header">    <div class="container-fluid">      <div class="row mb-2">        <div class="col-sm-6">          <h1 class="m-0 text-dark">Home Landing Page</h1>        </div><!-- /.col -->        <div class="col-sm-6">          <ol class="breadcrumb float-sm-right">            <li class="breadcrumb-item"><a href="#">Landing Page</a></li>          </ol>        </div><!-- /.col -->      </div><!-- /.row -->    </div><!-- /.container-fluid -->  </div>  <!-- /.content-header -->  <!-- Main content -->  <div class="content">    <div class="container-fluid">      <div class="row">        <div class="col-lg-6">          <div class="card">            <div class="card-body">              <h5 class="card-title">Card title</h5>              <p class="card-text">                Some quick example text to build on the card title and make up the bulk of the card's                content.              </p>              <a href="#" class="card-link">Card link</a>              <a href="#" class="card-link">Another link</a>            </div>          </div>          <div class="card card-primary card-outline">            <div class="card-body">              <h5 class="card-title">Card title</h5>              <p class="card-text">                Some quick example text to build on the card title and make up the bulk of the card's                content.              </p>              <a href="#" class="card-link">Card link</a>              <a href="#" class="card-link">Another link</a>            </div>          </div><!-- /.card -->        </div>        <div class="col-md-6">          <!-- general form elements disabled -->          <div class="card card-warning">            <div class="card-header">              <h3 class="card-title">General Elements</h3>            </div>            <!-- /.card-header -->            <div class="card-body">              <form role="form">                <div class="row">                  <div class="col-sm-6">                    <!-- text input -->                    <div class="form-group">                      <label>Text</label>                      <input type="text" class="form-control" placeholder="Enter ...">                    </div>                  </div>                  <div class="col-sm-6">                    <div class="form-group">                      <label>Text Disabled</label>                      <input type="text" class="form-control" placeholder="Enter ..." disabled>                    </div>                  </div>                </div>                <div class="row">                  <div class="col-sm-6">                    <!-- textarea -->                    <div class="form-group">                      <label>textarea</label>                      <textarea class="form-control" rows="3" placeholder="Enter ..."></textarea>                    </div>                  </div>                  <div class="col-sm-6">                    <div class="form-group">                      <label>textarea Disabled</label>                      <textarea class="form-control" rows="3" placeholder="Enter ..." disabled></textarea>                    </div>                  </div>                </div>                <!-- input states -->                <div class="form-group">                  <label class="col-form-label" for="inputSuccess"><i class="fas fa-check"></i> Input with                    success</label>                  <input type="text" class="form-control is-valid" id="inputSuccess" placeholder="Enter ...">                </div>                <div class="form-group">                  <label class="col-form-label" for="inputWarning"><i class="far fa-bell"></i> Input with                    warning</label>                  <input type="text" class="form-control is-warning" id="inputWarning" placeholder="Enter ...">                </div>                <div class="form-group">                  <label class="col-form-label" for="inputError"><i class="far fa-times-circle"></i> Input with                    error</label>                  <input type="text" class="form-control is-invalid" id="inputError" placeholder="Enter ...">                </div>                <div class="row">                  <div class="col-sm-6">                    <!-- checkbox -->                    <div class="form-group">                      <div class="form-check">                        <input class="form-check-input" type="checkbox">                        <label class="form-check-label">Checkbox</label>                      </div>                      <div class="form-check">                        <input class="form-check-input" type="checkbox" checked>                        <label class="form-check-label">Checkbox checked</label>                      </div>                      <div class="form-check">                        <input class="form-check-input" type="checkbox" disabled>                        <label class="form-check-label">Checkbox disabled</label>                      </div>                    </div>                  </div>                  <div class="col-sm-6">                    <!-- radio -->                    <div class="form-group">                      <div class="form-check">                        <input class="form-check-input" type="radio" name="radio1">                        <label class="form-check-label">Radio</label>                      </div>                      <div class="form-check">                        <input class="form-check-input" type="radio" name="radio1" checked>                        <label class="form-check-label">Radio checked</label>                      </div>                      <div class="form-check">                        <input class="form-check-input" type="radio" disabled>                        <label class="form-check-label">Radio disabled</label>                      </div>                    </div>                  </div>                </div>                <div class="row">                  <div class="col-sm-6">                    <!-- select -->                    <div class="form-group">                      <label>Select</label>                      <select class="form-control">                        <option>option 1</option>                        <option>option 2</option>                        <option>option 3</option>                        <option>option 4</option>                        <option>option 5</option>                      </select>                    </div>                  </div>                  <div class="col-sm-6">                    <div class="form-group">                      <label>Select Disabled</label>                      <select class="form-control" disabled>                        <option>option 1</option>                        <option>option 2</option>                        <option>option 3</option>                        <option>option 4</option>                        <option>option 5</option>                      </select>                    </div>                  </div>                </div>                <div class="row">                  <div class="col-sm-6">                    <!-- Select multiple-->                    <div class="form-group">                      <label>Select Multiple</label>                      <select multiple class="form-control">                        <option>option 1</option>                        <option>option 2</option>                        <option>option 3</option>                        <option>option 4</option>                        <option>option 5</option>                      </select>                    </div>                  </div>                  <div class="col-sm-6">                    <div class="form-group">                      <label>Select Multiple Disabled</label>                      <select multiple class="form-control" disabled>                        <option>option 1</option>                        <option>option 2</option>                        <option>option 3</option>                        <option>option 4</option>                        <option>option 5</option>                      </select>                    </div>                  </div>                </div>              </form>            </div>            <!-- /.card-body -->          </div>          <!-- /.card -->        </div>      </div>    </div><!-- /.container-fluid -->  </div>  <!-- /.content --></div>

步驟3/4:繼承base.html

為了將base.html用作每個頁面的基礎(chǔ)模板,我們需要通過在模板的開頭使用{%extended‘base.html’%}來聲明base.html為“父”模板。最重要的是,不要忘記content_wrapper塊。將全部內(nèi)容包裝到該塊中。我們應(yīng)該得到如下結(jié)果。

landing.html:{% extends 'base.html' %}{% load static %}{% block content_wrapper %}  <div class="content-wrapper">    . . .  </div>{% endblock %}在index.html:{% extends 'base.html' %}{% load static %}{% block content_wrapper %}  <div class="content-wrapper">    . . .  </div>{% endblock %}

步驟4/4:將常見的內(nèi)容單獨存放

現(xiàn)在我們可能會意識到,兩個模板中都存在相同的巨型形式。幾乎一半的代碼是它。由于此表單已在兩個模板中重復(fù)使用,因此我們將其維護在一個可以包含任何模板的地方。

在模板文件夾中創(chuàng)建一個文件夾advanced_forms。在advanced_forms文件夾中,創(chuàng)建如下的general_elements_form.html,代碼如下:

<form role="form">  <div class="row">    <div class="col-sm-6">      <!-- text input -->      <div class="form-group">        <label>Text</label>        <input type="text" class="form-control" placeholder="Enter ...">      </div>    </div>    <div class="col-sm-6">      <div class="form-group">        <label>Text Disabled</label>        <input type="text" class="form-control" placeholder="Enter ..." disabled>      </div>    </div>  </div>  <div class="row">    <div class="col-sm-6">      <!-- textarea -->      <div class="form-group">        <label>textarea</label>        <textarea class="form-control" rows="3" placeholder="Enter ..."></textarea>      </div>    </div>    <div class="col-sm-6">      <div class="form-group">        <label>textarea Disabled</label>        <textarea class="form-control" rows="3" placeholder="Enter ..." disabled></textarea>      </div>    </div>  </div>  <!-- input states -->  <div class="form-group">    <label class="col-form-label" for="inputSuccess"><i class="fas fa-check"></i> Input with      success</label>    <input type="text" class="form-control is-valid" id="inputSuccess" placeholder="Enter ...">  </div>  <div class="form-group">    <label class="col-form-label" for="inputWarning"><i class="far fa-bell"></i> Input with      warning</label>    <input type="text" class="form-control is-warning" id="inputWarning" placeholder="Enter ...">  </div>  <div class="form-group">    <label class="col-form-label" for="inputError"><i class="far fa-times-circle"></i> Input with      error</label>    <input type="text" class="form-control is-invalid" id="inputError" placeholder="Enter ...">  </div>  <div class="row">    <div class="col-sm-6">      <!-- checkbox -->      <div class="form-group">        <div class="form-check">          <input class="form-check-input" type="checkbox">          <label class="form-check-label">Checkbox</label>        </div>        <div class="form-check">          <input class="form-check-input" type="checkbox" checked>          <label class="form-check-label">Checkbox checked</label>        </div>        <div class="form-check">          <input class="form-check-input" type="checkbox" disabled>          <label class="form-check-label">Checkbox disabled</label>        </div>      </div>    </div>    <div class="col-sm-6">      <!-- radio -->      <div class="form-group">        <div class="form-check">          <input class="form-check-input" type="radio" name="radio1">          <label class="form-check-label">Radio</label>        </div>        <div class="form-check">          <input class="form-check-input" type="radio" name="radio1" checked>          <label class="form-check-label">Radio checked</label>        </div>        <div class="form-check">          <input class="form-check-input" type="radio" disabled>          <label class="form-check-label">Radio disabled</label>        </div>      </div>    </div>  </div>  <div class="row">    <div class="col-sm-6">      <!-- select -->      <div class="form-group">        <label>Select</label>        <select class="form-control">          <option>option 1</option>          <option>option 2</option>          <option>option 3</option>          <option>option 4</option>          <option>option 5</option>        </select>      </div>    </div>    <div class="col-sm-6">      <div class="form-group">        <label>Select Disabled</label>        <select class="form-control" disabled>          <option>option 1</option>          <option>option 2</option>          <option>option 3</option>          <option>option 4</option>          <option>option 5</option>        </select>      </div>    </div>  </div>  <div class="row">    <div class="col-sm-6">      <!-- Select multiple-->      <div class="form-group">        <label>Select Multiple</label>        <select multiple class="form-control">          <option>option 1</option>          <option>option 2</option>          <option>option 3</option>          <option>option 4</option>          <option>option 5</option>        </select>      </div>    </div>    <div class="col-sm-6">      <div class="form-group">        <label>Select Multiple Disabled</label>        <select multiple class="form-control" disabled>          <option>option 1</option>          <option>option 2</option>          <option>option 3</option>          <option>option 4</option>          <option>option 5</option>        </select>      </div>    </div>  </div></form>

刪除Landing.html和index.html中的多余表單代碼。使用{% include ‘a(chǎn)dvanced_forms/general_elements_form.html’ %}包含表單。設(shè)置好之后,這就是最終結(jié)果。

index.html:{% extends 'base.html' %}{% load static %}{% block content_wrapper %}  <div class="content-wrapper">    <!-- Content Header (Page header) -->    <div class="content-header">      <div class="container-fluid">        <div class="row mb-2">          <div class="col-sm-6">            <h1 class="m-0 text-dark">Polls Index Page</h1>          </div><!-- /.col -->          <div class="col-sm-6">            <ol class="breadcrumb float-sm-right">              <li class="breadcrumb-item"><a href="#">Home</a></li>              <li class="breadcrumb-item active">Polls</li>            </ol>          </div><!-- /.col -->        </div><!-- /.row -->      </div><!-- /.container-fluid -->    </div>    <!-- /.content-header -->    <!-- Main content -->    <div class="content">      <div class="container-fluid">        <div class="row">          <div class="col-lg-6">            <div class="card">              <div class="card-body">                <h5 class="card-title">Card title</h5>                <p class="card-text">                  Some quick example text to build on the card title and make up the bulk of the card's                  content.                </p>                <a href="#" class="card-link">Card link</a>                <a href="#" class="card-link">Another link</a>              </div>            </div>            <div class="card card-primary card-outline">              <div class="card-body">                <h5 class="card-title">Card title</h5>                <p class="card-text">                  Some quick example text to build on the card title and make up the bulk of the card's                  content.                </p>                <a href="#" class="card-link">Card link</a>                <a href="#" class="card-link">Another link</a>              </div>            </div><!-- /.card -->            <!-- general form elements disabled -->            <div class="card card-primary card-outline">              <div class="card-header">                <h3 class="card-title">General Elements</h3>              </div>              <!-- /.card-header -->              <div class="card-body">                {% include 'advanced_forms/general_elements_form.html' %}              </div>              <!-- /.card-body -->            </div>            <!-- /.card -->          </div>          <!-- /.col-md-6 -->          <div class="col-lg-6">            <div class="card">              <div class="card-header">                <h5 class="m-0">Featured</h5>              </div>              <div class="card-body">                <h6 class="card-title">Special title treatment</h6>                <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>                <a href="#" class="btn btn-primary">Go somewhere</a>              </div>            </div>            <div class="card card-primary card-outline">              <div class="card-header">                <h5 class="m-0">Featured</h5>              </div>              <div class="card-body">                <h6 class="card-title">Special title treatment</h6>                <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>                <a href="#" class="btn btn-primary">Go somewhere</a>              </div>            </div>          </div>          <!-- /.col-md-6 -->        </div>        <!-- /.row -->      </div><!-- /.container-fluid -->    </div>    <!-- /.content -->  </div>{% endblock %}loading.html:{% extends 'base.html' %}{% load static %}{% block content_wrapper %}  <div class="content-wrapper">    <!-- Content Header (Page header) -->    <div class="content-header">      <div class="container-fluid">        <div class="row mb-2">          <div class="col-sm-6">            <h1 class="m-0 text-dark">Home Landing Page</h1>          </div><!-- /.col -->          <div class="col-sm-6">            <ol class="breadcrumb float-sm-right">              <li class="breadcrumb-item"><a href="#">Landing Page</a></li>            </ol>          </div><!-- /.col -->        </div><!-- /.row -->      </div><!-- /.container-fluid -->    </div>    <!-- /.content-header -->    <!-- Main content -->    <div class="content">      <div class="container-fluid">        <div class="row">          <div class="col-lg-6">            <div class="card">              <div class="card-body">                <h5 class="card-title">Card title</h5>                <p class="card-text">                  Some quick example text to build on the card title and make up the bulk of the card's                  content.                </p>                <a href="#" class="card-link">Card link</a>                <a href="#" class="card-link">Another link</a>              </div>            </div>            <div class="card card-primary card-outline">              <div class="card-body">                <h5 class="card-title">Card title</h5>                <p class="card-text">                  Some quick example text to build on the card title and make up the bulk of the card's                  content.                </p>                <a href="#" class="card-link">Card link</a>                <a href="#" class="card-link">Another link</a>              </div>            </div><!-- /.card -->          </div>          <div class="col-md-6">            <!-- general form elements disabled -->            <div class="card card-warning">              <div class="card-header">                <h3 class="card-title">General Elements</h3>              </div>              <!-- /.card-header -->              <div class="card-body">                {% include 'advanced_forms/general_elements_form.html' %}              </div>              <!-- /.card-body -->            </div>            <!-- /.card -->          </div>        </div>      </div><!-- /.container-fluid -->    </div>    <!-- /.content -->  </div>{% endblock %}

現(xiàn)在,讓我們再次重新啟動項目。屏幕上沒有任何變化。但是從整體結(jié)構(gòu)上,項目變得更易于維護。

溫馨提示:
本文【如何設(shè)計組織Django模板】由作者教培參考提供。該文觀點僅代表作者本人,培訓(xùn)啦系信息發(fā)布平臺,僅提供信息存儲空間服務(wù),若存在侵權(quán)問題,請及時聯(lián)系管理員或作者進行刪除。
我們采用的作品包括內(nèi)容和圖片部分來源于網(wǎng)絡(luò)用戶投稿,我們不確定投稿用戶享有完全著作權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護條例》,如果侵犯了您的權(quán)利,請聯(lián)系我站將及時刪除。
內(nèi)容侵權(quán)、違法和不良信息舉報
Copyright @ 2025 培訓(xùn)啦 All Rights Reserved 版權(quán)所有.