如果我们在Django中使用Generic视图,那么模板必须存在于指定视图的应用程序中的templates文件夹中



我是Django框架的新手,导师通常会将路径与base.html等通用模板的基本目录连接起来,对于登录和注册以及应用程序特定的模板,他会在应用程序中创建一个目录并在那里填充html,他从未提到它是如何工作的,我很困惑我会遵循什么方法,有人能简单地解释一下吗!!

任何方法都可以。无论哪一个让你快乐。这些方法背后没有魔法。

模板引擎使用Templates设置进行配置。这是一个配置列表,每个引擎一个。默认值为空。startproject命令生成的settings.py定义了一个更有用的值:

TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
# ... some options here ...
},
},
]
  1. DIRS定义引擎应查找的目录列表模板源文件,按搜索顺序排列
  2. APP_DIRS告诉引擎应该在已安装的应用程序中查找模板。每个后端为里面的子目录定义一个常规名称应用程序中应该存储其模板的位置。这并不取决于你如何定义视图。。。。例如。。。让我们看看这行代码

在项目内部构建路径,如下所示:BASE_DIR/"subdir">

BASE_DIR = Path(__file__).resolve().parent.parent
# Build paths inside the project like this: BASE_DIR / 'subdir'.
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['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',
],
},
},
]

在这里,您可以在Project目录中创建templates目录,也可以在apps目录中创建templates目录,django将查找这两个目录并从这两个文件中渲染文件。。。欲了解更多信息,请在Django文档中点击此处输入链接描述

最新更新