Как / где остановить Django Formwizards? 'метод, вызываемый при сбое платежа

Я просмотрел документацию по django, много гуглил и попробовал довольно много разных решений, но безрезультатно.

Я создал форму из 3 частей, используя FormWizard Джанго. После проверки последней формы (формы оплаты), Я отправляю запрос платежа в платежный шлюз.

Я выполняю обработку платежа в методе 'process_step' FormWizard.

У меня возникают трудности с выяснением того, как FormWizard снова отображает страницу оплаты когда платеж не проходит. Как и сейчас, вызывается «готовый» метод FormWizard (после того, как я выполнил свою обработку в process_step), так как все формы были проверены.

Мне интересно, нужно ли мне переопределить вызовите метод . Не совсем уверен, как это сделать, но в настоящее время я пытаюсь это выяснить.

Любая помощь будет принята с благодарностью. Я не могу понять, как заставить FormWizard снова показывать страницу оплаты в случае сбоя платежа. Как и сейчас, вызывается «готовый» метод FormWizard (после того, как я выполнил свою обработку в process_step), так как все формы были проверены.

Мне интересно, нужно ли мне переопределить вызовите метод . Не совсем уверен, как это сделать, но в настоящее время я пытаюсь это выяснить.

Любая помощь будет принята с благодарностью. Я не могу понять, как заставить FormWizard снова показывать страницу оплаты в случае сбоя платежа. Как и сейчас, вызывается «готовый» метод FormWizard (после того, как я выполнил свою обработку в process_step), так как все формы были проверены.

Мне интересно, нужно ли мне переопределить вызовите метод . Не совсем уверен, как это сделать, но в настоящее время я пытаюсь это выяснить.

Любая помощь будет принята с благодарностью. С Уважением, Шон

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/')
5
задан shawn 12 August 2010 в 09:12
поделиться