1. 程式人生 > >django常用模板和模板變數整理

django常用模板和模板變數整理

配置html檔案所在位置
setting.py

#修改前
'DIRS': []
#修改後
'DIRS': [os.path.join(BASE_DIR, 'templates')]

django配置靜態檔案(css,js等):
settings.py

##引入static檔案所在資料夾
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static'), 
]
或者
STATICFILES_DIRS = os.path.join(BASE_DIR, 'static')

前端引入:

在頁面頂部:
{% load staticfiles %}
#引入CSS、JS
{% static 'xxx.css' %} 
{% static 'xxx.js' %}

接受一個dict
變數,列表,字典
直接使用變數
{{ var }}

模板內建標籤:

		{% for list in list  %}
		<li>{{ list }}</li>
		{% endfor %}
        {% for key,values in mydict.items  %}
        <li>{{ key }}:{{ values }}</li>
        {% endfor %}

模板包含,能將可以重用的html程式碼獨立出來(和C裡面的include xxx功能相同):

templates/index.html

{% include 'head.html' %}
<div>變化的主題內容</div>
{% include 'footer.html' %}

模板繼承:在繼承父模板的基礎上進行拓展

templates/base.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>MyBlog</title>
</head>
<body>
<div>頭部</div>

{% block content %}  ###這個的content可以自由命名。只要上下對應

{% endblock %}

<div>尾部</div>

</div>
</body>
</html>
templates/index.html

{% extends "base.html" %}  ###放在第一行 
{% block content %}
<div>中部</div>     ##將中間內容插入到base.html對應的塊中
{% endblock %}