Django- При попытке расширить шаблон только через базовый шаблон

Я создаю свое первое приложение Django и пытаюсь настроить страницу signup.html, расширяя при этом свой base.html. URL, который я настроил, работает, но он тянет только через шаблон base.html. Я проверил представление, url и шаблон signup.html и не уверен, что делаю неправильно.

signup.html:

{% extends './layout/base.html' %}
{% load static %}

{% block content %}
    <h1>Signup</h1>
{% endblock content %}

base.html:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    {% load static %}
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Lato:wght@300&family=Oswald&display=swap" rel="stylesheet">
    <link rel="icon" href="{% static 'favicon.ico' %}">
    <a target="_blank" href="https://icons8.com/icon/DpuVIej1M9Br/health">Health</a> icon by <a target="_blank"
        href="https://icons8.com">Icons8</a>
    <title>Your Health Now</title>
</head>

<body>
    <h1>Hello, world!</h1>
</body>

</html>

urls.py:

from django.urls import path
from django.contrib.staticfiles.storage import staticfiles_storage
from django.views.generic.base import RedirectView
from . import views

app_name = 'HealthHub'

urlpatterns = [
    path('signup/', views.signup, name='signup'),
    path('favicon.ico', RedirectView.as_view(url=staticfiles_storage.url("favicon.ico")))
]

views.py:

from django.shortcuts import render

def signup(request):
    return render(request, 'HealthHub/signup.html')

В файле base.html вы должны добавить пустой блок, где будет отображаться HTML-код других страниц, он должен быть таким, если вы хотите, чтобы содержание ("Signup" h1) отображалось под "Hello, world!":

base.html:

<body>
<h1>Hello, world!</h1>
{% block content %}
{% endblock content %}
</body>

Вы также должны определить блок content в base.html, так:

base.html:

...
<body>
    {% block content %}
       <h1> Hello World</h1>
    {% endblock content %}
</body>
...

Затем попробуйте в signup.html, это изменит блок содержимого на SignUp в теге h1.

Вернуться на верх