M
M
Mistadrumma2016-03-18 01:00:16
Django
Mistadrumma, 2016-03-18 01:00:16

How to debug template inheritance in Django?

Goodnight!
Tell me how to debug template inheritance.
The problem is that they don't show up.
Example:
views.py file

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 %}

All html is displayed in the browser, but the blocks are not :(
Settings
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',
            ],
        },
    },
]

Thanks in advance!

Answer the question

In order to leave comments, you need to log in

4 answer(s)
N
Nikita Konin, 2016-03-18
@Mistadrumma

Is there a similar one view?

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

And it looks like you are only rendering for base.htmlrendering, but content.htmlthere is, but it is not displayed.

M
Mistadrumma, 2016-03-18
@Mistadrumma

So this is inheritance {% extends "blog/base.html" %}
It doesn't need to be included.
Just in case, I tried it, it does not help.
Got it!
the url should refer to the homeApp view, and the view should refer to 'blog/content.html'. And I had to base.html
Thank you

D
Dmitry, 2016-03-18
@DemiKam

'DIRS': {os.path.join(BASE_DIR, 'templates')} ==> if all templates are taken from here,
then this: {% extends "blog/base.html" %}
should be written like this: {% extends " base.html" %}

S
Sergey Melnikov, 2015-01-17
@mlnkv

link is broken

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question