在Django框架中幕垦,模板是可以幫助開發(fā)者快速生成呈現(xiàn)給用戶頁面的工具 』傧埃
模板的設(shè)計方式實(shí)現(xiàn)了我們MVT重VT的解耦智嚷,VT有著N:M的關(guān)系,一個V可以調(diào)用任意T纺且,一個T可以供任意V使用。 模板處理分為兩個過程: 加載和渲染稍浆。
創(chuàng)建模板
創(chuàng)建與應(yīng)用和項目同級的模板文件夾载碌,并修改項目中的配置文件使其生效猜嘱。
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',
],
},
},
]
'DIRS': [os.path.join(BASE_DIR,'templates')],
模板所在目錄
模板語法及相關(guān)例子
注釋
注釋可見,可運(yùn)行
<!-- 注釋內(nèi)容 -->
單行注釋注釋不可見嫁艇,不可運(yùn)行
單行注釋(頁面源碼中不會顯示注釋內(nèi)容)
{# 被注釋掉的內(nèi)容 #}
多行注釋注釋不可見朗伶,不可運(yùn)行
{% comment %}
{% endcomment %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
{% load static %}
<!--<link rel="stylesheet" href="/static/css/index.css">-->
<link rel="stylesheet" href="{% static 'css/index.css' %}">
</head>
<body>
<h2>你好</h2>
<table>
<thead>
<th>序號</th>
<th>id</th>
<th>name</th>
<th>age</th>
</thead>
<tbody>
{% for stu in students %}
<tr>
<td>{{ forloop.counter }}</td>
<td>{{ stu.id}}</td>
{# <td {% if stu.id == 3 %} style="color:red;"{% endif %}>{{ stu.s_name}}</td> #}
<td {% if forloop.first %} style="color:red;"{% endif %}>{{ stu.s_name}}</td>
<td {% if forloop.last %} style="color:yellow;"{% endif %}>{{ stu.s_age}}</td>
</tr>
{% endfor %}
</tbody>
</table>
<!--<!–解析變量–>-->
<!--{% for stu in students %}-->
<!--<table>{{ stu.s_name }}</table>-->
<!--{% endfor %}-->
</body>
</html>
模板繼承
挖坑
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>
{% block title %}
{% endblock %}
</title>
{% block extCss %}
{% endblock %}
{% block extJs %}
{% endblock %}
</head>
<body>
{% block content %}
{% endblock %}
</body>
</html>
填坑
{% extends 'base.html' %}
{% block title %}
注冊
{% endblock%}
{% block content %}
<form action="" method="post">
{{ form.errors.username }}
<p>用 戶 名:<input type="text" name="username"></p>
{{ form.errors.password }}
<p>密 碼:<input type="password" name="password"></p>
{{ form.errors.password2 }}
<p>確認(rèn)密碼:<input type="password" name="password2"></p>
<input type="submit" value="提交">
</form>
{% endblock%}