не вернул объект HttpResponse. Он не вернул ничего вместо проверки

#django

Вопрос:

У меня проблема, потому что я не могу заставить полосу работать с моим проектом django. Как и в названии, я получаю ошибку. Интегрировать Django с полосой действительно сложно.

 ValueError at /create_checkout_session
The view shop.views.create_checkout_session didn't return an HttpResponse object. It returned None instead.
Request Method: GET
Request URL:    http://127.0.0.1:8000/create_checkout_session
Django Version: 3.2.6
Exception Type: ValueError
Exception Value:    
The view shop.views.create_checkout_session didn't return an HttpResponse object. It returned None instead.
 

views.py

 def create_checkout_session(request):
    MY_DOMAIN = 'localhost:8000'
    if request.method == 'POST':
        try:
            cart = Cart.objects.filter(order_user=request.user)
            stripe.api_key = os.environ.get('stripeAPI')
            checkout_session = stripe.checkout.Session.create(
                line_items=[
                    {
                        'price': 'price_1JUTtYIXuOafNhy8tmWVwgjG',
                        'quantity': 1,
                    },
                ],
                payment_method_types=[
                'card',
                'p24',
                ],
                mode='payment',
                success_url=request.build_absolute_uri(reverse('success-page'))  '?session_id={CHECKOUT_SESSION_ID}',
                cancel_url= request.build_absolute_url(reverse('cancel-page')),
            )
        except Exception as e:
            return str(e)
        return redirect(checkout_session.url, code=303)
 

Комментарии:

1. для запроса GET ваше представление ничего не возвращает.

2. Вам необходимо вернуть ответ в методе GET, если вы пытаетесь получить доступ к своему представлению в запросе GET.

Ответ №1:

Вы должны определить GET метод для запросов GET. Когда вы отправляете запрос GET на свой сервер.

 if request.method == 'GET':
    return HttpResponse("Hello")