在项目的settings.py
文件中。有一个TEMPLATES
配置,这个配置包含了模板引擎的配置,模板查找路径的配置,模板上下文的配置等。模板路径可以在两个地方配置。
DIRS
:这是一个列表,在这个列表中可以存放所有的模板路径,以后在视图中使用render
或者render_to_string
渲染模板的时候,会在这个列表的路径中查找模板。APP_DIRS
:默认为True
,这个设置为True
后,会在INSTALLED_APPS
的安装了的APP
下的templates
文件加中查找模板。- 查找顺序:比如代码
render('list.html')
。先会在DIRS
这个列表中依次查找路径下有没有这个模板,如果有,就返回。如果DIRS
列表中所有的路径都没有找到,那么会先检查当前这个视图所处的app
是否已经安装,如果已经安装了,那么就先在当前这个app
下的templates
文件夹中查找模板,如果没有找到,那么会在其他已经安装了的app
中查找。如果所有路径下都没有找到,那么会抛出一个TemplateDoesNotExist
的异常。
app中创建templates事例:
在app中创建templates目录
然后在其中创建一个index1.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>这是index1页面</h1>
</body>
</html>
在app的views中创建index1页面视图函数
def index1(request):
return render(request, "index1.html")
在主urls.py中创建home的url
path('index1',views.index1,name="index1")
这个时候访问/index1页面,提示访问不了
这就需要把app安装到setting.py中并且APP_DIRS需要设置为True
然后再次访问就可以了