Как сделать корректное отображение контекта на страницах?
Изучаю Django, не знаю как правильно отобразить контекст, чтобы он не повторялся каждый раз, а использовался только в одном html коде.
Есть главная html страница students.html
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>{% block title %}{% endblock %}</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="{% static 'general/css/general.css' %}">
</head>
<body>
<div>
<h4>Главная • {% block page %}{% endblock %}</h4>
</div>
<div>
{{ block.super }}
{% block content %}
<div class="block" STYLE="border: 2px solid darkgray; padding-right: 10px;">
***<h4>{{ full_name }}</h4>***
<p>СТУДЕНТ</p>
<ul>
<li><a href="{% url 'students-get-id' %}">ПОЛУЧЕНИЕ ID</a></li>
<li><a href="{% url 'students-progress' %}">УСПЕВАЕМОСТЬ</a></li>
<li><a href="{% url 'students-notification' %}">УВЕДОМЛЕНИЯ</a></li>
<li><a href="{% url 'students-about' %}">О СЕБЕ</a></li>
</ul>
<button style="width: 107%">ВЫЙТИ</button>
</div>
{% endblock %}
</div>
</body>
</html>
Идёт вызов {{ full_name }} (выделил)
Данный файл является как главный, другие просто наследуются, допустим возьму один из них - get_id.html
{% extends 'general/students.html' %}
{% block title %}{% block page %}Получение ID{% endblock %}{% endblock %}
{% block content %}
<div class="block" STYLE="padding-right: 150px; padding-bottom: 114px; border: 2px solid darkgray;">
<h4>Информация</h4>
<button>ПОЛУЧИТЬ КОД</button>
</div>
{% endblock %}
Запуская сервер и переходя по ссылке этой html страницы, full_name не отображается, просто пустота
urls.py
from django.urls import path
from . import views
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('work-check/', views.Students.get_id, name="teacher-work-check"),
path('work-list/', views.Students.notification, name="teacher-work-list"),
path('about/', views.Students.about, name="teacher-about"),
path('get-id/', views.Students.get_id, name="students-get-id"),
path('notification/', views.Students.notification, name="students-notification"),
path('about/', views.Students.about, name="students-about"),
path('progress/', views.Students.progress, name="students-progress"),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
views.py
from django.contrib.auth import authenticate, login
from django.http import HttpResponseRedirect
from django.shortcuts import render
from django.urls import reverse
def home_teacher(request):
return render(request, template_name='general/teacher/teacher.html')
user_data = {
'full_name': "ИВАНОВ И.П."
}
class Teacher:
def work_check(request):
return render(request, template_name='general/students/get_id.html', context=user_data)
def work_list(request):
return render(request, template_name='general/students/notification.html', context=user_data)
def about(request):
return render(request, template_name='general/teacher/about.html', context=user_data)
class Students:
def students(request):
return render(request, template_name='general/students.html', context=user_data)
def get_id(request):
return render(request, template_name='general/students/get_id.html')
def notification(request):
return render(request, template_name='general/students/notification.html')
def progress(request):
return render(request, template_name='general/students/progress.html')
def about(request):
return render(request, template_name='general/students/about.html')
Запуская сервер и переходя по ссылке этой html страницы, full_name не отображается, просто пустота