Mi piacerebbe avere qualche consiglio nella costruzione di livelli di template django.Ereditarietà modello Django: quanti livelli e quale pagina rendere
Leggendo i documenti, non capisco come creare una struttura gerarchica di modelli con più di 2 livelli.
Per esempio, vorrei creare 3 livelli di ereditarietà:
base.html
└── base_level2.html
├── level2_level3_1.html
└── level2_level3_2.html
Questo è il mio codice:
base.html
First level {% block level2 %}{% endblock %}
base_level2.html
{% extends "base.html" %} {% block level2 %} Second level {% block level3_1 %}{% endblock %} {% block level3_2 %}{% endblock %} {% endblock %}
level2_level3_1.html
{% extends "base_level2.html" %} {% block level3_1 %} Third level, part 1 {% endblock %}
level2_level3_2.html
{% extends "base_level2.html" %} {% block level3_2 %} Third level, part 2 {% endblock %}
views.py:
def myView(request): return render_to_response('level2_level3_1.html', {}, context_instance=RequestContext(request))
In questo modo posso vedere quanto segue su il mio browser:
First level
Second level
Third level, part 1
E questo è logico perché ho chiamo render_to response
solo su level2_level3_1.html.
Ovviamente, se chiama level2_level3_2.html, ricevo il messaggio Third level, part 2
ma non lo Third level, part1
.
Come risolvere questo? E 'un buon approccio? Ho strutturato roba in questo modo perché i miei modelli reali sono molto grandi, molte linee di codice, quindi vorrei mantenere un po 'di ordine. Qualsiasi consiglio sarà apprezzato.
qual è il problema? vuoi avere 'Terzo livello, parte 1' e' Terzo livello, parte 2'. perché non puoi inserire entrambe le parti nella stessa pagina? appartengono a due blocchi diversi. – EsseTi
Come ho detto sopra "Ho strutturato roba in questo modo perché i miei modelli reali sono molto grandi ...". Questo è un esempio minimo ma il mio livello2_level3_1.html e level2_level3_2.html sono in realtà molto lunghi e non voglio unirli in un enorme singolo file. – caneta