Django: Как я могу отобразить результат некоторого вычисления после нажатия кнопки на той же странице
я хочу выводить результат некоторого расчета после нажатия на кнопку, дело в том, что у меня идут и вызываются поля-вычисления после вычисления в том же шаблоне html.
но результат переходит на другую страницу, потому что я указал на urls.py другой маршрут url.
Вот код 2 функций: одна для расчета, другая для главной страницы (где находятся поля-данные, которые я ввел и кнопка расчета), и я хочу вывести там результат расчета, который я сделал на первой функции в views.py:
@login_required
def calcul_resultat(request):
resultat = float(0)
ch_permanent = request.POST.get('ch_permanent', False)
ch_exp = request.POST.get('ch_exp', False)
calcul=""
calcul_exp=""
calcul_md=""
if not (ch_permanent and ch_exp):
return HttpResponse({"result" :resultat})
else:
float_ch_exp = float(ch_exp)
resultat = 2.4 * float_ch_exp
calcul += "<strong>Calculation of Dweight: </strong>"
calcul += str(resultat)
float_ch_permanent = float(ch_permanent)
resultat = 3.6 * float_ch_permanent
calcul_exp += "<strong>Calculation of the load: </strong>"
calcul_exp += str(resultat)
float_calcul_exp = float(2.4 * float_ch_exp)
float_calcul_per = float(3.6 * float_ch_permanent)
float_length = float(length)
resultat += (float_calcul_exp * float_length)
calcul_md += "<strong>Calculation moment </strong>"
calcul_md += str(resultat)
return render(request,'pages/home.html',{'calcul':calcul, 'calcul_exp':calcul_exp, 'calcul_md':calcul_md})
и Здесь это функция дома в views.py
@login_required
def home(request):
form = FormsCreationForm()
if request.method == 'POST':
form = FormsCreationForm(request.POST)
if form.is_valid():
form.save()
return render(request, 'pages/home.html', {'form': form})
Вот как я вызываю их в том же template home.html после кнопки:
<form action="{% url 'calcul_resultat' %}" method="post" novalidate>
{% csrf_token %}
{{ form.as_p }}
<button type="submit" name="btn_calculer">Calculate</button>
<br/>
{{ calcul | safe }}
<br/>
{{ calcul_exp | safe }}
<br>
{{ calcul_md | safe }}
</form>
и вот urls.py
urlpatterns = [
path('admin/', admin.site.urls),
path('home/', views.home, name='home'),
path('home/calcul/', views.calcul_resultat, name='calcul_resultat')
]
Пожалуйста, как я могу достичь цели отображения результатов вычислений, которые я назвал, на том же html шаблоне:
{{ calcul | safe }}
{{ calcul_exp | safe }}
{{ calcul_md | safe }}
чтобы при нажатии на кнопку я оказывался на той же странице.
Помогите пожалуйста.Заранее спасибо.