Tôi đã xem qua tài liệu django, thực hiện rất nhiều googling và đã thử khá một vài giải pháp khác nhau nhưng vô ích.Làm thế nào/nơi dừng phương thức Django Formwizards 'done' được gọi là thất bại thanh toán
Tôi đã tạo biểu mẫu 3 phần bằng FormWizard của Django. Khi biểu mẫu cuối cùng (biểu mẫu thanh toán) được xác thực, tôi sẽ gửi yêu cầu thanh toán đến cổng thanh toán.
Tôi đang xử lý thanh toán trong phương thức 'process_step' của FormWizard.
Tôi đang gặp khó khăn trong việc tìm ra cách để FormWizard hiển thị lại trang thanh toán khi thanh toán không thành công. Như bây giờ, phương thức 'done' của FormWizard được gọi (sau khi tôi đã xử lý xong trong process_step), vì tất cả các biểu mẫu đã được xác nhận hợp lệ.
Tôi tự hỏi liệu mình có cần ghi đè phương thức gọi hay không. Không thực sự chắc chắn làm thế nào để làm điều đó, nhưng tôi hiện đang cố gắng tìm ra điều đó.
Mọi trợ giúp sẽ được đánh giá cao. Kính trọng, Shawn
class TrainingWizard(FormWizard):
def process_step(self,request,form,step):
if step == 0:
self.extra_context = {'stepOne': "One"}
if step == 1:
self.extra_context = {'stepTwo': "Two"}
if step == 2:
if self.get_response != "Success":
#Payment Failed
#Add error message
#Show Payment Form Again to allow user to retry
return
def get_response(self):
#return "Success"
return "Declined"
def done(self, request, form_list):
return HttpResponseRedirect('/training-registration-complete/')
Tôi nghĩ rằng tôi đang thiếu thứ gì đó cơ bản trong cách Biểu mẫu được xử lý bằng FormWizard. Những gì tôi muốn làm là một cái gì đó giống như các ý kiến trong bước == 2 của process_step (như được hiển thị trong mã kiểm tra). Chỉ cần không chắc chắn những gì mã để đặt ở đó. Không có vấn đề gì tôi đặt trong đó, phương pháp thực hiện dường như được thực hiện như hình thức cuối cùng đã được xác nhận. Nếu bất cứ ai có thể cung cấp một dòng mã sẽ hoạt động ở đó để hiển thị lại biểu mẫu thanh toán (x số lần cho đến khi thanh toán thành công) hoặc đề xuất điều gì đó tôi có thể thực hiện trong render_template hoặc ở nơi khác, đó sẽ là một trợ giúp tuyệt vời. – shawn