@Mistadrumma

Как отладить наследование шаблонов в Django?

Доброй ночи!
Подскажите как отладить наследование шаблонов.
Проблема в том что они не отображаются.
Пример:
Файл views.py
from django.http import HttpResponse
from django.shortcuts import render

def homeApp (request):
    return render (request, 'blog/base.html')

base.html
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">


    <title>{% block title %}{% endblock %} -blog</title>

    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">

  </head>

  <body>

    <div class="container">
      <div class="header clearfix">
        <nav>
          <ul class="nav nav-pills pull-right">
            <li role="presentation" class="active"><a href="#">Home</a></li>
            <li role="presentation"><a href="#">About</a></li>
            <li role="presentation"><a href="#">Contact</a></li>
          </ul>
        </nav>
        <h3 class="text-muted">Project name</h3>
      </div>
        <label>
            <textarea onclick="this.focus();this.select()" style="width: 100%;"> {% filter force_escape %} {% debug %} {% endfilter %}</textarea>
        </label>
        <div class="jumbotron">
{% block content %}

{% endblock %}


      </div>


<HR>
      <footer class="footer">
        <p>&copy; 2015 Company, Inc.</p>
      </footer>

    </div> <!-- /container -->

content.html
{% extends "blog/base.html" %}

{%block title %}Home{% endblock %}

{% block content %}
<h1>Home</h1>
<p><span>Lorem ipsum dolor sit amet, consectetur adipisicing elit. A accusantium blanditiis consequuntur eaque error illo incidunt ipsum iusto libero magnam numquam odit optio porro possimus, quaerat ratione recusandae sed vero voluptatem, voluptatum. Aliquam aliquid consequuntur eligendi eos harum impedit in magnam, maxime mollitia nam possimus quo quod sint? Debitis dolor dolorum, incidunt minus nam nemo quos recusandae vitae voluptates voluptatum. Corporis inventore ipsa perspiciatis velit! Architecto aspernatur aut consequuntur cum cupiditate debitis delectus dolor ducimus eius, est eum eveniet incidunt ipsam ipsum laboriosam molestiae necessitatibus nesciunt nulla odio, perspiciatis quae quam quia ratione reprehenderit similique unde vel veniam veritatis voluptate?</span><span>Architecto dicta dolorum eos esse illo praesentium qui quis quod. Aliquam distinctio ducimus eaque maxime nam nihil quam quidem, repellendus. Architecto, atque corporis cumque delectus distinctio eius error exercitationem inventore, laboriosam mollitia officia officiis optio possimus quo quos repellendus sequi veritatis. Beatae cum dolore, et eum expedita harum magnam magni maiores maxime, molestiae molestias obcaecati pariatur ratione repudiandae, rerum? Asperiores beatae cumque dolores illum, ullam voluptatem! Animi consectetur debitis deserunt dolore doloribus et illum in odio perferendis perspiciatis sed, suscipit voluptatibus! Alias enim et fuga, incidunt ipsa, ipsam nemo nihil nisi omnis qui quia repudiandae sint velit vero vitae! Quod.</span>
</p>
{% endblock %}


Весь html отображается в браузере, а блоки нет :(

Настройки
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': {os.path.join(BASE_DIR, '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',
            ],
        },
    },
]


Заранее благодарен!
  • Вопрос задан
  • 1046 просмотров
Решения вопроса 1
А есть подобная view?
def content(request):
    return render (request, 'blog/content.html')

А то выглядит как будто у вас только для base.html рендер идет, а content.html имеется, но не выводится.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Mistadrumma Автор вопроса
Так это же наследование {% extends "blog/base.html" %}
Его не нужно подключать.
На всякий случай попробовал, не помогает.

Разобрался!
урл должна была обратится вьюшке homeApp, а вюха к 'blog/content.html'. А у меня было к base.html
Спасибо
Ответ написан
Комментировать
DemiKam
@DemiKam
'DIRS': {os.path.join(BASE_DIR, 'templates')} ==> если отсюда беруться все шаблоны,
то это: {% extends "blog/base.html" %}
надо писать так: {% extends "base.html" %}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы