In this part, we adjust the previous code to show the Preview page, optionally.
class PreviewRedirect(RedirectView):
def get_redirect_url(self, **kwargs):
self.request.session['payment_method'] = self.request.POST.get('payment_method')
return reverse('checkout:preview')
from django.urls import path
from .views import *
urlpatterns = [
path("preview_redirect/", PreviewRedirect.as_view(), name="preview_redirect"),
]
...
urlpatterns = [
...
path('', include('Store.urls')),
]
...
{% block payment_details %}
{% block payment_details_content %}
<form action="{% url 'preview_redirect' %}" method="post">
{% csrf_token %}
<fieldset>
<input type="radio" name="payment_method" value="google" required> Google Pay <br>
<input type="radio" name="payment_method" value="apple" required> Apple Pay <br>
<input type="radio" name="payment_method" value="paypal" required> Paypal <br>
<input type="radio" name="payment_method" value="card" required> Credit Card <br> <br>
<button type="submit">Continue</button>
</fieldset>
</form>
{% endblock payment_details_content %}
{% endblock payment_details %}
...
{% block place_order %}
<form method="post" action="{% url 'gateway_redirect' %}" id="place_order_form">
...
Tested with: Django 5.2 Django-Oscar 4
02 Sept. 2025
|
Last Updated: 13 Jan. 2026
|
jaimedcsilva Related