一 模板
1 同级目录建立 templates 在templates里创建html
<h1>{{ hello }}</h1>->hello.html
2 修改setting里的路径
'DIRS': [BASE_DIR+"/templates",],
3 添加views方法
from django.shortcuts import render
def hello(request):
context = {}
context['hello'] = 'Hello World!' //字典赋值
return render(request, 'hello.html', context) render
相关函数随后进行讲解 今天主要研究模板
二 模板基本语法
1 条件判断语句
{% if athlete_list and coach_list %} //多个条件用 and 和not连接
... display 1
{% elif condition2 %}
... display 2
{% else %}
... display 3
{% endif %}
2 for循环语句 循环变量取值
<ul>
{% for athlete in athlete_list ( reversed)%} 反向迭代
<li>{{ athlete.name }}</li>
{% endfor %}
</ul>
3 {# 这是一个注释 #} 注释语句用法
4 {{ name|lower }} 过滤器进行二次处理
三 包含 语法
include 标签
{% include "nav.html" %} 包含基础依赖页 这是工程的普遍设计方法 能防止大量的代码重复
{ %block mainbody %}
中间为可替换部分
{ % endblock %}
这样在子页显示的父页的基础模块和子页的变更模块
四 创建一个base界面
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<h1>Hello World!</h1>
<p>菜鸟教程 Django 测试。</p>
{% block mainbody %}
<p>original</p>
{% endblock %}
</body>
</html>
五 修改之前的hello.html
{% extends "base.html" %}//继承base模块
{% block mainbody %}<p>//进行重构
<p>继承了 base.html 文件</p>
{% endblock %}
怎么样,其实和子类继续父类很像呢 只不过现象话了
六 补充
如果模板提示找不到
采用os.path.join 拼接下就行