首页 文章

Django项目模板加载器设置

提问于
浏览
0

是否可以设置django项目模板加载优先级,以便首先加载应用程序的“模板”文件夹,然后加载项目“模板” . 如果模板存在于app文件夹中,则使用它 . 如果app文件夹中不存在,则尝试从项目文件夹加载 .

或者加载模板不正常?我问,因为我在异常中看到,Django尝试加载第一个全局模板:

模板加载器postmortem Django尝试按以下顺序加载这些模板:使用引擎django:django.template.loaders.filesystem.Loader:D:\ myprojects \ my-website \ src \ templates \ home.html(源不存在)django.template.loaders.app_directories.Loader:C:\ User \ Python27 \ lib \ site-packages \ django \ contrib \ admin \ templates \ home.html(源不存在)django.template.loaders.app_directories.Loader :C:\ User \ Python27 \ lib \ site-packages \ django \ contrib \ auth \ templates \ home.html(源不存在)django.template.loaders.app_directories.Loader:D:\ myprojects \ my-website \ src \ website \ templates \ home.html(源不存在)

1 回答

  • 2

    更新 TEMPLATES 设置,并将 app_directories 加载程序放在 filesystem 加载程序之前 .

    如果您当前有 'APP_DIRS': True ,则必须将其删除,然后添加 loaders 选项 .

    例如,您可以将 TEMPLATES 设置更改为:

    TEMPLATES = [{
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'OPTIONS': {
            'loaders': [
                'django.template.loaders.app_directories.Loader',
                'django.template.loaders.filesystem.Loader',
            ],
        },
    }]
    

相关问题