Legacy of templates with Django

Asked

Viewed 589 times

2

I’m having a bit of a problem applying template inheritance with Django. Apparently it’s all right but my html son is not rendered in the template

html base.

<!doctype html>
{% load static %}
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="Simple MOOC - Uma simples plataforma de ensino a distância" />
    <title>Simple MOOC</title>
    <link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.3.0/pure-min.css">
    <link rel="stylesheet" href="{%static 'css/styles.css'%}" />
</head>
<body>
<div class="header">
    <div class="pure-menu pure-menu-open pure-menu-fixed pure-menu-horizontal">
        <a class="pure-menu-heading" href="">SIMPLE MOOC</a>
        <ul>
            <li class="pure-menu-selected"><a href="#">Início</a></li>
            <li><a href="#">Cursos</a></li>
            <li><a href="#">Contato</a></li>
        </ul>
    </div>
</div>
<div class="content">
{% block content %}{% endblock %}
    <div class="footer">
        Simple MOOC - Uma simples plataforma de ensino a distância
    </div>
</div>
<script src="http://yui.yahooapis.com/3.12.0/build/yui/yui-min.js"></script>
</body>
</html>

home html.

{% extends "base.html" %}

{% block content %}
<div class="splash">
        <div class="pure-g-r">
            <div class="pure-u-1">
                <div class="l-box splash-text">
                    <h1 class="splash-head">
                        Uma Simples Plataforma de Ensino a Distância
                    </h1>
                    <h2 class="splash-subhead">
                        O Simple MOOC visa simplificar o ensino a distância, provendo ferramentas objetivas e de fácil uso para cursos a distância.
                    </h2>
                    <p>
                        <a href="#" class="pure-button primary-button">Saiba mais</a>
                    </p>
                </div>
            </div>
        </div>
    </div>
    <div class="pure-g-r content-ribbon">
        <div class="pure-u-2-3">
            <div class="l-box">
                <h4 class="content-subhead">Vídeo-aulas e materiais digitais</h4>
                <h3>Publique suas aulas</h3>
                <p>
                    O Simple MOOC tem um sistema simples e prático para que o professor disponibilize vídeo-aulas e materiais digitais como: pdf, slides, imagens ...
                </p>
            </div>
        </div>
        <div class="pure-u-1-3">
            <div class="l-box">
                <img src="http://placehold.it/400x250"
                     alt="Vídeo aulas e materiais digitais.">
            </div>
        </div>
    </div>
    <div class="pure-g-r content-ribbon">
        <div class="pure-u-1-3">
            <div class="l-box">
                <img src="http://placehold.it/400x250"
                     alt="Fórum de Dúvidas">
            </div>
        </div>
        <div class="pure-u-2-3">
            <div class="l-box">
                <h4 class="content-subhead">Fórum de Dúvidas</h4>
                <h3>Interaja com seus Alunos</h3>
                <p>
                    No Simple MOOC você pode ter seu próprio sistema de fórum para que seus alunos possam interagir com você e com os outros alunos
                </p>
            </div>
        </div>
    </div>
    <div class="pure-g-r content-ribbon">
        <div class="pure-u-2-3">
            <div class="l-box">
                <h4 class="content-subhead">Exercícios</h4>
                <h3>Crie exercícios para avaliar seus alunos</h3>
                <p>
                    Você pode criar exercícios para que os alunos possam ser avaliados e todo o controle de notas e resolução dos exercícios é controlado pela plataforma, facilitando sua vida
                </p>
            </div>
        </div>
        <div class="pure-u-1-3">
            <div class="l-box">
                <img src="http://placehold.it/400x250"
                     alt="Exercícios">
            </div>
        </div>
    </div>
    <div class="pure-g-r content-ribbon">
        <div class="pure-u-1-3">
            <div class="l-box">
                <img src="http://placehold.it/400x250"
                     alt="Mural de Avisos">
            </div>
        </div>
        <div class="pure-u-2-3">
            <div class="l-box">
                <h4 class="content-subhead">Mural de Avisos</h4>
                <h3>Envie anúncios diretamente para os alunos</h3>
                <p>
                    Organize os avisos do seu curso de forma fácil e simples.
                </p>
            </div>
        </div>
    </div>

{% endblock %}

2 answers

0

Start with Settings.py, if properly specified DEBUG and templates and with regard to the archives static

 DEBUG = True # em desenvolvimento
  
 INSTALLED_APPS = [
  'suaAplicação',
 ]


 TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': ['templates'],# < onde encontrara os templates
             ......

    STATIC_URL = '/static/' #arquivos estáticos 
    STATIC_ROOT = Path.joinpath(BASE_DIR,' staticfiles')

     ]

Okay....

Each application has a folder called "templates" , contained in it can be pages or files with base page.html and hello.html and index.html

html base.

{% load static %}
<!DOCTYPE html>
<html lang="pt-br">
  <head>
    <!-- dentro da pasta templates, dentro da aplicação, cada aplicação tera uma pasta templates -->
    <link rel="stylesheet" href="{% static 'stilos.css' %}">


  </head>

  <body>


{%block content %} {% endblock %}
  
 
    <script src="{% static 'scripts.js'%}"></script>    
   <!-- Dentro da pasta static dentro da aplicação -->
  </body>

ola.html

 {% load static %} <!--- caso tenho arquivos estático na pagina -->
    
    <h3>Ola</h3>
 

index.html

{% extends 'base.html' %}

 {%block content %}
    {% include 'hola.html' %}
{% endblock  %}

This way I divided the template into 3 parts the base, content and index.

Between only 2.

html base.

{% block content %} {% endblock %}

index.html

{% extends 'base.html' %}
{% block content %}  {% endblock %}

in the view just enter index.html

When created using

Django-admin startproject .

the space and then point indicates that create the project without subfolders, inside the directory that wants the project

.Pasta_projeto
|_projeto
|_aplicações
  |_templates
  |_static
  |_ view..admin
|_aplicação2
  |_templates
  |_static
  |_ de mais arquivos dj

qia

0

Try using the full path ne extends. Ex: {% extends 'core/site/base.html' %}

The hierarchy should be template/core/site/base.html

Browser other questions tagged

You are not signed in. Login or sign up in order to post.