Django зарегистрировал пространство имен, однако, пост запрос возвращает 404
У меня есть такая структура в моем проекте.
*************** Directory Tree ***************
dealerpanel/
├── __init__.py
├── api/
│ ├── serializers/
│ │ ├── customer.py
│ ├── urls.py
│ └── views/
│ ├── payzee_redirect.py
├── apps.py
├── templates/
│ └── payzee-redirect.html
├── tests/
│ ├── api/
│ │ ├── test_payzee_redirect.py
└── validators/
├── utils.py
└── validators.py
Представление, с которым я хочу работать - payzee_redirect.py
Этот вид выглядит следующим образом:
import time
from django.db import transaction
from rest_framework.parsers import FormParser
from rest_framework.renderers import TemplateHTMLRenderer
from rest_framework.request import Request
from rest_framework.response import Response
from rest_framework.views import APIView
from apps.customer.models import PayzeeOrder
from apps.dealerpanel.api.serializers.payzee import PayzeeSerializer
from libs.settlement.constants import PaymentStatus
class PayzeeRedirectView(APIView):
authentication_classes = []
permission_classes = []
parser_classes = (FormParser,)
renderer_classes = (TemplateHTMLRenderer,)
template_name = "payzee-redirect.html"
MAX_TRY = 4
def post(self, request: Request, *args, **kwargs) -> Response:
return Response(
{"is_error": False, "invoice_id": order.invoice.invoice_id}, template_name=self.template_name
)
urls.py следующим образом:
from django.urls import path
from .views.payzee_redirect import PayzeeRedirectView
app_name = "dealerpanel"
urlpatterns = [
path("payzee/redirect/", PayzeeRedirectView.as_view(), name="payzee_redirect"),
]
test_payzee_redirect.py
class PayzeeRedirectiewTest(APITestCase):
@classmethod
def setUpTestData(cls):
cls.host = TR.api_host
baker.make("api.Eshop", scoring_category=baker.make("api.ScoringCategory"))
invoice = baker.make("api.Invoice")
baker.make("customer.PayzeeOrder", invoice = invoice)
def test_payzee_order_does_not_exist(self):
# Given
data = {
"OrderId": uuid4(),
"ResponseCode": "00"
}
# When
response = self.make_request(data)
# Then
...
def make_request(self, data: dict[str, Any]) -> HttpResponse:
url = reverse_hosts("dealerpanel:payzee_redirect", host=self.host)
return self.client.post(url, data=data, content_type="application/x-www-form-urlencoded")
У меня следующий ответ на отладчике:
<HttpResponseNotFound status_code=404, "text/html; charset=utf-8">
Что я могу сделать в этой ситуации? Я могу послать запрос к этому представлению на Postman, однако, модульный тест по какой-то причине не работает...