Berhard Vallant
作为's 或's 答案的一个轻微变体Anshuman
,这里有一个替代片段放置在settings.py
import os
import sys # Insert this line
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# Insert the two lines below
APPS_DIR = os.path.join(BASE_DIR, '<your_project_dir_name>/apps/')
sys.path.insert(0, APPS_DIR)
以这种方式执行此操作具有额外的好处,即您的模板目录更干净,如下所示。没有变量,列表中的列表APPS_DIR
中会有很多重复。<your_project_dir_name>/apps/
DIRS
TEMPLATES
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [
os.path.join(APPS_DIR, '<app_name>/templates/<app_name>'),
os.path.join(APPS_DIR, '<app_name>/templates/<app_name>'),
...
],
'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',
],
},
},
]
您可以INSTALLED_APPS
使用中给出的短格式名称apps.py
或使用appname.apps.AppnameConfig
替换appname
为您的应用名称的长格式语法来正常列出列表中的应用程序。