Как я могу получить доступ к обновленной переменной шаблона в разных тегах
Как я могу использовать обновленную переменную в разных тегах в шаблонах django. Я использую python 3.10.x и django 4.0.4. Вот код моего шаблона.
Я хочу использовать переменную qn в части {% else %}
(после обновления). А для обновления я написал пользовательский тег.
{% extends 'base.html' %}
{% load static %}
{% load custom_tags %}
{% block style %}
{% endblock %}
{% block content %}
<h1>Test</h1>
{% if arr %}
<form action="#" style="margin-left:10%;" >
{% for line in arr %}
{% with qn=line.0 %}
<div class="form-check">
{% if line.0 not in "a, b, c, d" %}
<h4> {{line}} </h4>
{% update qn as line.0 %}
ques{{qn}}
{% else %}
<input class="form-check-input" type="radio" name="ques{{qn}}" value="{{line}}" style="margin-left:2%; margin-right:1%;">
<label class="form-check-label" for="ques"> {{line}} </label>
{% endif %}
</div>
{% endwith %}
{% endfor %}
<button type="submit" class="btn btn-primary" style="margin-top:3%;"> Submit Test </button>
</form>
{% else %}
No Data
{% endif %}
{% endblock %}
Вот код пользовательского тега
from atexit import register
from django import template
import datetime
register = template.Library()
@register.simple_tag
def update(val):
data=val
return data
Переменная qn работает нормально, если я использую ее в {% if line.0 not in "a, b, c, d" %}
после обновления {% update qn as line.0 %}
. Но в {% else %}
она выдает значение, когда она была объявлена первой, т.е. {% with qn=line.0 %}
.
Как я могу получить желаемое значение. Пожалуйста, помогите мне избавиться от этой проблемы. Пожалуйста, дайте мне знать, если требуется какая-либо другая информация.
Заранее спасибо.