Неудачное наследование шаблона в django templating
Я нахожусь в середине проекта. Проект использует базовый html во фронтенде. У меня проблемы с наследованием шаблонов. Вот основной код: -
{% extends 'main.html' %}
{% block content %}
<h2>Home</h4>
<hr>
{% if request.user.is_authenticated %}
{% block home %}{% endblock home %}
{% else %}
{% for doc in doctor %}
<div>
<small>Doctors around</small>
<br>
<a href="{% url 'profile' doc.user.id %}"><li>{{doc.user.name}}</li></a>
<br>
</div>
{% endfor %}
{% endif %}
{% endblock content %}
Также код распространяется на другой шаблон. Дочерней страницей является :-
{% extends 'rec/home.html' %}
{% block home %}
<div>
{% if request.user.usertype == 'p' %}
<h1>Hi {{request.user.name}} </h1>
{% else %}
<h1>Hi {{request.user.name}} </h1>
{% endif %}
</div>
{% endblock home %}
Оба файла находятся в одном каталоге. Но я определил каталог шаблонов в файле настроек в другом каталоге.
Просто {% endblock %}
вам не нужно указывать, какой блок вы закрываете / Я не уверен, что вы вообще можете
Это единственная проблема, которую я вижу в том, что предоставляется
Вместо того, чтобы определять шаблон для расширения в каждом шаблоне, попробуйте сделать что-то вроде этого:
Template.html
{% extends parent_template %}
Views.py
template = loader.get_template('app/page.html')
context = {}
context["parent_template"] = "app/parentPage.html"
return HttpResponse(template.render(context, request))
Таким образом, вы сможете назначить шаблон со стороны Django, и вам будет легче устранять неполадки