配置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 %}