Как отчистить post запрос но при этом передать переменные на html страницу в Django

Есть следующий код во views.py:

def mainST(request):
    searching = request.POST.get("search") #Получает введенный пользователем текст в поле input
    if not searching: #проверяет введенное пользователем значение на наличие текста и если поле пустое, то выдает стандартную страницу без переменных
        return render(request, 'main/htmain.html')  
    
    else:  #Если поле не пустое
        # Здесь идет длинный код, по итогу которого мы получаем четыре переменные
        el1 = "" #что угодно 
        el2 = "" #что угодно 
        el3 = "" #что угодно 
        el4 = "" #что угодно 
        return render(request, 'main/htmain.html', {'el1': el1, 'el2': el2, 'el3': el3, 'el4': el4,} #передаем эти переменные в html шаблон

    #return HttpResponseRedirect(request.path)

И теперь в чем же и заключается проблема. Благодоря следующему кусочку кода:

 return HttpResponseRedirect(request.path)

POST запрос отчищается, но если я ставлю его в конце кода, то переменные не передаются, а если в начале, то и сам POST не доходит до основного кода(который я не указал), ибо введенное пользователем значение стирается до того, как успевает дойти до основного кода. А если не стирать POST и вовсе, то при обновлении пользователем страницы, POST запрос попадает в основной код(а он в свою очередь очень массивный из-за чего невероятно сильно нагружает систему(или же сервер)). А пользователь может сколько угодно раз прообновлять страницу, но при этом предыдущий выполняемый код не остановится.

urls.py:

  from django.urls import path
  from . import views

  urlpatterns = [
      path('', views.mainST, name='videosearch'),
  ]

html:

 <form action="" method="POST">
       {% csrf_token %}
       <input class="searcher" placeholder="Вставьте ссылку" name="search">
 </form>

Ответы (0 шт):