Проблема с шаблонами Django {% extends%} - PullRequest
1 голос
/ 29 марта 2020

Я создаю веб-приложение с Django и Python 3.7, и меня очень смущает эта простая вещь:

Эти мои шаблоны. Все они находятся в одном каталоге. Когда я пытаюсь вызвать {% extends 'store. html'%}, я получаю TemplateDoesNotExist at /publicaciones/, и он указывает на store.html. Это в publicaciones.html. Вот шаблон: publicaciones. html:

{% extends "store.html" %}
{% load static %}
{% load crispy_forms_tags %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" type="text/css" href="{% static 'css/style_reset-pass.css' %}">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
    <title>Publicaciones</title>
</head>
<body>
    <div class="container"> 
        {% block content %}
        {% for item in items %}
            {{ item|crispy }}
        {% endfor %}
        {% endblock content %}
    </div>
</body>
</html>

Чего мне не хватает? Пожалуйста, спросите, нужен ли вам какой-либо другой код. Я отвечу немедленно.

Ответы [ 3 ]

4 голосов
/ 29 марта 2020

Это должно быть {% extends "store/store.html" %}

У вас есть путь как templates/store/store.html

3 голосов
/ 29 марта 2020

Вы ссылаетесь на супер шаблон так же, как вы ссылаетесь на шаблон в представлении, например. В случае, если вы, следовательно, должны ссылаться на него как "store/store.html":

{% extends "<b>store/</b>store.html" %}

Обратите внимание, что если вы расширяете шаблон, вы можете заполнять только блоки шаблона {% block &hellip; %}&hellip;{% endblock %} [Django -doc] , поэтому вы не можете просто написать целый файл html, что было бы довольно бессмысленно, так как в противном случае нет причин наследовать шаблон.

2 голосов
/ 29 марта 2020

Добавляя к точке @baldr, убедитесь, что вы указали папку шаблона в файле settings.py (правильно): как 'DIRS': [os.path.join(BASE_DIR, 'templates')] в разделе TEMPLATES

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