РЕДАКТИРОВАТЬ: внесены изменения на основе ваших новых комментариев, чтобы лучше соответствовать вашей идее
Мне кажется, я понимаю, что вы пытаетесь сделать - я 'Я собираюсь выйти на конечности и сказать, что то, что вы хотите сделать, невозможно для языка шаблонов Django.Как только Django предоставляет веб-страницу конечному пользователю - любые изменения, которые они вносят в веб-страницу, выбирают выпадающие списки и т. Д., Больше не становятся доступными для логики шаблона.Шаблоны служат для доставки окончательного набора контента с сервера - один раз.
Поэтому, если вы хотите получить доступ к тегам шаблона - вы можете получить к ним доступ только тогда, когда сервер создает страницу для отправки клиенту.--once клиент / конечный пользователь имеет .html контент из представления / шаблона - шаблон и представление больше не доступны для дальнейшей работы со страницей.
Если вам нужно активно общаться с сервером на основевзаимодействие с пользователем с выпадающим списком / изменения формы и т. д., вы можете: A: отправить форму с пользовательскими изменениями на сервер. Просмотрите и обновите страницу / шаблон с этими изменениями в качестве переменных шаблона для обратной связи в шаблон с вашими тегами шаблона.или B: вы можете использовать AJAX для взаимодействия с простым API представления Django, который возвращает JSON для обработки клиентской страницы и вносит изменения.
У меня нет времени, чтобы дать решение B, но вот решение A (которое может быть достаточно простым для ваших нужд - как утверждают другие люди) - не так много, чтобы пойтина основе вашего описания
urls.py
from django.urls import path
from . import views
urlpatterns = [
path('fooView/', views.fooView, name='fooView'),
]
views.py
from django.shortcuts import render
def fooView(self, request, **kwargs)
if request.GET:#If we are getting a form submission
#Let's add any of the form data provided
p_data = request.GET['your_paragraph_element']
#Do something here with 'p_data' -- the data from your p element to process it in python
#Now pass your processed p_data BACK to the template as a template variable
kwargs['processed_p_data'] = p_data
return render(request, 'mytemplate.html', kwargs)
mytemplate.html
<html>
<body>
<form action="/fooView/" method="get">
<input name="your_paragraph_element" hidden></input>
<input type="file"></input>
{# If there IS 'processed_p_data' #}
{% if processed_p_data%}
<p id="foobar">{{processed_p_data}}</p>
{% else %}
<p id="foobar"></p>
{% endif %}
<input type="submit" value="Send Server My Change">
</form>
</body>
<script>
//All of your jscript code that grabs the data from the file
//--puts it into the <p> element
//--also puts it into the hidden <input> element so that it can be sent to the server as form GET data
</script>
</html>