Как вызвать шаблоны вне папки приложения? - PullRequest
0 голосов
/ 21 января 2019

Как мне позвонить на header.html?Это моя структура папок.У меня TemplateSyntaxError at /.

- Project Name
    - app
      - home
         - templates      //will contain all the views
             - home.html
         - views..py
      - templates         //will contain all the scripts,styles
         - header.html 

Вот мой код: Home/templates/home.html

{% extends 'header.html' %}
{% block content %}
    <body>
    </body>
{% endblock content %}

ОБНОВЛЕНИЕ : Вот мои настройки.1012 *

APP_ROOT = os.path.join(BASE_DIR,'apps')

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [
            APP_ROOT + '/home/templates',
            APP_ROOT + '/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'
            ],
        },
    },
]

Ответы [ 2 ]

0 голосов
/ 21 января 2019
APP_ROOT = projectDirectory/apps

Я изменил

APP_ROOT + '/templates' // projectDirectory/apps/templates

на

'projectName/apps/templates' //projectName/apps/templates

Я не знаю, почему это работает.Мне нужно объяснение.

0 голосов
/ 21 января 2019

В соответствии с деревом каталогов вашего проекта вам не требуется дополнительная настройка. Просто замените

{% extends '../../templates/header.html' %}

К

{% extends 'header.html' %}

И изменить

APP_ROOT + 'home.templates',

К

APP_ROOT + 'home/templates',
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...