'payments' не является зарегистрированным пространством имен
Мне кажется, я хорошо справился с отображением URL, так что, пожалуйста, проверьте его
from django.urls import path
from . import views
app_name = 'payments'
urlpatterns = [
path('request/<int:order_id>/', views.payment_request, name='payment_request'),
path('success/', views.payment_success, name='payment_success'),
path('fail/', views.payment_fail, name='payment_fail'),
path('checkout/', views.checkout_view, name='checkout'),
]
def checkout_view(request):
return render(
request,
'checkout.html',
)
<form method="post" action="{% url 'payments:checkout' %}">
{% csrf_token %}
{{ form.as_p }}
создано app_name = 'payments'
Причина этой проблемы в том, что вы используете обратный URL в своей форме (action="{% url 'payments:checkout' %}"), но не включили URL вашего приложения в проект.
Для решения этой проблемы необходимо включить в проект файл "payments.urls". Предположим, что название вашего проекта - "shop". В shop.urls в urlpatterns необходимо добавить следующую строку:
path('', include("payments.urls")),
Сделав это, Django сможет определить URL приложения, и после этого вы сможете использовать обратный URL. Также не забудьте прописать название вашего приложения в INSTALLED_APP.