hallo ich hier flache Seiten in django zu bauen bin versucht würde Ich mag die htmlaußer Kraft setzt Template-Block direkt aus Sicht Django
Basis
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
<div id="main">
{% block container %}
{% block content %}{% endblock content %}
{% endblock container %}
</div>
</body>
</html>
hier außer Kraft zu setzen Ich mag würde den Block Inhalt außer Kraft zu setzen, so statt erben die Basisvorlage dann überschrieben blockcontent und Nutzungsdaten aus dem Kontext wie
newstatic.html
{% extends "base.html" %}
{% block content %}
{{body}}
{% endblock %}
gibt es eine Möglichkeit, den Block direkt aus der Sicht selbst zu überschreiben ??
Sie können einen Vorlagenblock nicht aus Ansichten überschreiben. Wenn Sie einen Block von seinem übergeordneten Element überschreiben möchten, müssen Sie von diesem übergeordneten Element erben und Ihre Daten in diesem Block hinzufügen. Was du tust! Warum willst du so ein Verhalten? – kapilsdv
derzeit vererbe ich base.html in newstatic.html und überschreibe Blockinhalt. Ich hatte gerade diese Abfrage, dass, wenn ich direkt von der Ansicht überschreiben konnte, ich newstatic.html nicht benötige und ich könnte direkt base.html –
Sie können nehmen, wenn um block wie '{% block content%} {% if context%} { {body}} {% elif%} {% endif%} {% endblock%} '. Übergeben Sie einen Kontext mit der Antwort auf base.html aus Ihrer Sicht. Wenn der Kontext vorhanden ist, wird Ihr {{body}} Teil ansonsten als Standard angezeigt. Aber es ist keine gute Übung. Momentan ist nichts falsch in der Art, wie Sie es tun, und es ist modular. – kapilsdv