1. 程式人生 > >Django---模板繼承和反向解析

Django---模板繼承和反向解析

1.父模板的定義
一定要分析好網頁結構,定義可以替換的內容,通過{% block 名稱%}{%endblock%}的形式包含起來,方便被替換使用

<head>
    <title>電商網站--{%block title%}首頁{%endblock%}
</head>
<body>
{%block page_top%}
<h1>網頁頭部</h1>
{%endblock%}

{%block page_side%}
<h1>網頁側邊</h1>
{%endblock%}

{%block page_bottom%}
<h1>網頁底部</h1>
{%endblock%}
</body>

2.子模板的定義
在字模板中,用過{%extend ‘父模板的路徑’%}的方式完成繼承,通過{%block 名稱%}{%endblock%}標籤完成內容的編輯重寫

{%extend 'base.html'%}

{%block title%}登入{%endblock%}

{%block content%}
<h3>這是一個登入介面<h3>
{%endblock%}

3.路由反向解析
反向解析:為了方便路由請求路由的動態處理能實現修改一處(路由中的請求路徑),可以到處(任何引用路由的地方)起到作用的情況
{% url ‘app_name:name’ (引數)%}

app_name='user'
url(r'^(?P<author_id>\d+)/login/' ,views.user_login, name='user_login')
<a href="{%url 'user:user_login' user.id%}"></a>
瀏覽器解釋:<a href='/user/12/login/'></a>

4.靜態檔案的處理
通過標籤{% static %}進行處理,自動引用配置檔案中的static_url和staticfiles_dirs的配置

{% load static %} 使用static,首先載入static標籤
<link href='{% static "css/index.css"%}'>
解析處來<link href='/static/css/index.css'>
<img src='{% static "image/default.jpg" %}'>

應用情況:
某個人修改了setting.py中的STATIC_URL配置