Я получил дерево навигации, которое сообщает мне, где я нахожусь на моем веб-сайте, чтобы построить это дерево навигации, мне всегда нужно передавать все переменные из шаблона в представление как <input type="hidden">
.Затем мне нужно передать его от представления к следующему шаблону, и это продолжается и выглядит как плохое решение для передачи переменных из каждого шаблона в каждое представление.поэтому мой вопрос, есть ли лучшее решение моей проблемы здесь, это экран дерева навигации.
template:
<form action="{% url 'aktentabelle' %}" method="post" style="display:inline-block">
{% csrf_token %}
<input type="hidden" name="mitglied" value="{{Container.containernr}}" />
<input type="hidden" name="contpk" value="{{Container.pk}}" />
<input type="hidden" name="projectnr" value="{{projectnr}}" />
<input type="hidden" name="status" value="{{Container.status}}" />
<input type="hidden" name="chargepk" value="{{chargepk}}" />
<input type="hidden" name="chargenr" value="{{chargenr}}" />
<input class="btn btn-primary" type="submit" value="anzeigen" />
</form>
поэтому в моих шаблонах мне всегда нужно передавать множество переменных как скрытые, и, на мой взгляд, мне нужно преобразовать их обратно, чтобы прочитать их:
views.py:
def aktentabelle(request):
assert isinstance(request, HttpRequest)
container = request.POST['mitglied']
z = AkteForm
projectnr = request.POST['projectnr']
chargepk = request.POST['chargepk']
chargenr = request.POST['chargenr']
contpk = request.POST['contpk']
closecontainerform = CloseContainerForm
akte_list = Akte.objects.filter(container__containernr=container)
Anzahl_Akten =Akte.objects.filter(container__containernr=container).count
status = request.POST['status']
return render(
request,
'app/aktentabelle.html',
{
'title':'About',
'akte_list':akte_list,
'anzahl':Anzahl_Akten,
'container':container,
'aktenform':z,
'status':status,
'closecontainerform': closecontainerform,
'date':datetime.now().date,
'contpk':contpk,
'chargepk':chargepk,
'chargenr':chargenr,
'projectnr':projectnr,
}
)
Как вы можете видеть, я использую так много строк, чтобы просто передать все переменные из одного шаблона в представление и снова вернуться в шаблон, чтобы построить это дерево навигации.