Django html: копирование входных данных формы и отображение на другой странице

Я пытаюсь разработать веб-службу доставки, где пользователи могут ввести в форму адрес доставки и получить цену онлайн. если цена устраивает, пользователь может нажать кнопку "оформить заказ", которая перейдет на другую новую страницу для пользователя, чтобы заполнить дополнительную информацию, и, что важно, ранее введенные адреса доставки и цена должны автоматически отображаться где-то на новой странице.

Я новичок в django и html, и я попытался создать более простую страницу, служащую той же цели. Теперь я могу сделать первую часть заполнения формы, а бэкенд вычисляет на основе пользовательского ввода и возвращает результат вычисления (например, цену). Теперь мне интересно, как сделать "переход на другую новую страницу, которая будет отображать два вводимых значения и результат расчета"

Главный html:

<html>
    <body>
        <form method="POST" hx-post="{% url 'blog:post_list' %}" hx-target="#num_1" hx-target="#num_2" hx-target="#result">
            {% csrf_token %}
            <div>
            <label>num_1:</label>
            <input type="text" name="num_1" value="" placeholder="Enter value" />
            </div>
            <div>
            <label>num_2:</label>
            <input type="text" name="num_2" value="" placeholder="Enter value" />
            </div>

            <br />
            <div id="num_1">{{ num_1 }}</div>
            <br />
            <div id="num_2">{{ num_2 }}</div>
            <br />
            <div id="result">{{ result }}</div>
            <br>
            <button type="submit">Submit</button>
        </form>
        <script src="https://unpkg.com/htmx.org@1.6.1"></script>
    </body>
</html>

Child html:

<div>
        <label>first_number:</label>
        <span id="num_1"> {{ num_1 }} </span>
</div>

<div>
        <label>second_number:</label>
        <span id="num_2"> {{ num_2 }} </span>
</div>

<div>
        <label>calculation_result:</label>
        <span id="result"> {{ result }} </span>
</div>

view.py:

def post_list(request):
    result = ""
    num1 = ""
    num2 = ""
    if request.method == "POST":
        num1 = request.POST.get('num_1')
        num2 = request.POST.get('num_2')
        result = int(num1) + int(num2)

    if request.headers.get('Hx-Request') == 'true':
        # return only the result to be replaced
        # return HttpResponse(str(result))
        return render(request, 'blog/post_list_snippet.html', {'num_1': num1,'num_2': num2,'result': result})
    else:
        return render(request, 'blog/post_list.html', {'num_1': num1,'num_2': num2,'result': result})
Вернуться на верх