Не передается ввод из формы django в модале к модели

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

Итак, я написал код следующим образом, и даже если я ввожу информацию в модале и нажимаю кнопку начисления, экземпляр не попадает в модель Payments.

html

models.py

class Payment(models.Model):
    payment_id = models.CharField(max_length=250)
    customer = models.ForeignKey(User, on_delete=models.CASCADE)
    cartitem = models.ForeignKey(CartItem, on_delete=models.CASCADE)
    card_number = models.IntegerField()
    validity = models.IntegerField()
    cvc = models.IntegerField()
    card_password = models.IntegerField()

    def __str__(self):
        return '{0} {1} {2} {3}'.format(self.customer, self.payment_id, self.card_number, self.cartitem)

views.py

def charge(request):
    if request.method == 'POST':
        form = PaymentForm(request.POST)
    if form.is_valid():
        payment = form.save(commit=False)

        payment.save()
        return redirect('cart:cart_detail')
    else:
        form = PaymentForm()
    return render(request, 'cart/cart.html', {'form':form})

form.py

class PaymentForm(forms.ModelForm):
    class Meta:
        model = Payment
        fields = ('card_number','validity','cvc','card_password')

urls.py(cart)

app_name = 'cart'

urlpatterns = [
    path('add/<int:pk>/', views.add_cart, name='add_cart'),
    path('', views.cart_detail, name='cart_detail'),
    path('remove/<int:pk>/', views.cart_remove, name='cart_remove'),
    path('full_remove/<int:pk>/', views.full_remove, name='full_remove'),
    path('charge/', views.charge, name='charge'),
]

urls.py(project)

urlpatterns = [
    path('admin/', admin.site.urls),
    path('movie/', include('movie.urls')),
    path('ticket/', views.TicketList.as_view()),
    path('ticket/<int:pk>/', views.TicketDetail.as_view()),
    path('cart/', include('cart.urls')),
    path('seat/<int:show_id>/', views.seat_page, name='seat_page'),
    path('profile/', include('profile.urls')),
    path('store/', include('store.urls')),

]

Как я могу это исправить?

Измените input на button здесь:

<div>
    <input type="submit" value="charge">
</div>
<div>
    <button type="submit" value="charge">Charge</button>
</div>

Также попробуйте распечатать вывод request.POST в журналах сервера, чтобы проверить, что происходит.

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