Ich versuche herauszufinden, ob es eine Möglichkeit gibt, eine Teilansicht in eine Ansicht zu erweitern, die base.html bereits erweitert. HierErweitern einer Vorlage, die bereits in Django erweitert wurde
ist ein Beispiel dafür, was ich versuche zu tun:
my-template.html
{% extends 'base.html '%}
<div class="row">
<div class="col-xs-12">
<ul class="nav nav-tabs">
<li role="presentation" class="active"><a href="#">Tab1</a></li>
<li role="presentation"><a href="#">Tab2</a></li>
</ul>
</div>
</div>
<div>
{% block tab_content %}
{% endblock %}
</div>
partial1.html
{% extends 'my-template.html' %}
{% block tab_content %}
<h1>I'm partial 1</h1>
{% endblock %}
Die my- template.html view hat eine URL, die wie folgt aufgebaut ist:
url(r'^my-template/(?P<id>[0-9]+)/$', views.my_template_view, name='my-template')
Zusätzlich wird ein Kontext-Dict in die my_template_view übergeben, die die ID für die URL liefert.
Ich möchte das für den Benutzer auf eine Registerkarte klicken und für seine Teil entsprechenden wie so mit einer URL zu erbringenden:
url(r'^my-template/(?P<id>[0-9]+)/tab1/$', views.tab1_view, name='tab1-view')
aber jetzt bin ich ein NoReverseMatch an/my- bekommen template/97/tab1/was ich annehme bedeutet, dass meine tab1_view nicht auf den gleichen Kontext wie die my_template_view zugreifen kann und somit die ID nicht die umgekehrte URL erstellen kann.
In template /partial1.html, error at line 0
Reverse for 'tab1_view' with arguments '('',)' and keyword arguments '{}' not found. 1 pattern(s) tried: ['/my-template/(?P<id>[0-9]+)/tab1/$']
Also, gibt es eine Möglichkeit für mich, zumindest entlang der Kontext weitergeben oder die ID so das funktioniert, oder bin ich über diese gehen in die völlig falsche Weg?
Sie haben den Traceback oder den Ansichts-/Vorlagencode, der den Fehler verursacht, nicht angezeigt. – Alasdair