Django не может распространяться на шаблон в другом приложении - PullRequest
0 голосов
/ 11 апреля 2020

Это структура проекта прямо сейчас.

webbshop
  templates
    webbshop
      base.html
      settings.py
home
  templates
    home
      index.html

В моих настройках "интернет-магазина", которое является "основным" приложением, где я получил свои настройки.

Но когда я попробуйте расширить базу. html с индексом. html Я получаю эту ошибку:

django .template.exceptions.TemplateDoesNotExist: webbshop / base. html "

На странице он показывает это. https://i.stack.imgur.com/QUQbd.png

Похоже, что он не go и ищет шаблон в приложении интернет-магазина. Я искал вокруг и это должно сработать.

Это мой индекс. html

{% extends 'webbshop/base.html' %}

{% block content %}
hey
{% endblock %}

Это установленные приложения, которые я получил в приложении интернет-магазина.

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'home',
]

решено! Решение:

Несмотря на то, что у меня был файл settings.py в приложении для веб-магазина, мне все равно пришлось добавить «веб-магазин» в качестве установленного приложения, иначе он не распознал бы шаблоны в этом приложении.

Ответы [ 2 ]

1 голос
/ 11 апреля 2020

Чтобы сделать мой комментарий ответом, вы можете принять:

В Django нет такого понятия, как "основное приложение"; если webbshop содержит webbshop/settings.py, это, вероятно, модуль проекта Django, но это не приложение автоматически.

Вам нужно добавить его в INSTALLED_APPS (даже если это не так. не предоставляет представления, URL-адреса, модели, ...) для механизма поиска шаблонов по умолчанию для поиска шаблонов в webbshop/templates.

0 голосов
/ 11 апреля 2020

О, хорошо, понятно, что вам нужно сделать эти изменения в вашем settings.py: ниже строки BASE_DIR добавьте эту строку:

TEMPLATE_DIR = os.path.join(BASE_DIR, 'templates') 

и добавьте эту новую переменную 'TEMPLATE_DIR' в TEMPLATES в DIRS как :

ШАБЛОНЫ -> 'DIRS': [TEMPLATE_DIR],

Спасибо.

...