Что делать если у <button> должно быть 2 "type" - submit и button

Интересная проблема. Я делаю оплату на Django, используя платежную систему Fondy

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

def black(request):
if request.user.is_authenticated:
    value, created = Choose.objects.get_or_create(voter=request.user)

    if request.method == 'POST':
        select_action = request.POST['choose']

        if select_action == 'black':
            value.count_black += 1
            value.save()
        # return redirect("home")

    api = Api(merchant_id= , secret_key='  ') # эти данные я удалил в вопросе
    checkout = Checkout(api=api)
    data = {
        "currency": "RUB",
        "amount": 100,
        "order_desc": "Описание платежа",  # Описание платежа
        "order_id": str(time.time())
    }
    url = checkout.url(data).get('checkout_url')

html:

<a href="{{ url }}">
    <form method="post">
    {% csrf_token %}

        <button  class="button_b" name="choose" value="black">
            <h1 style="color: white">
                <strong>Choose</strong>
            </h1>
        </button>

    </form>
</a>

В моем коде, если юзер нажимает на кнопку, то в странице результатов это значение увеличивается на + 1. Для этого у кнопки должен быть указан tupe="submit"(из-за этого ссылка не работает), но чтобы работала ссылка у кнопки должен быть type="button"(из-за этого голос не считывается(не отправляются данные)).

Получается, либо я могу считывать голос, либо перенаправлять пользователя, но мне нужны оба эти действия. Что мне делать? Пожалуйста, помогите.

Вернуться на верх