1
我正在使用新的Django表單嚮導工具。它將在下一個Django 1.4中發佈,但您可以在這裏找到它:https://github.com/stephrdev/django-formwizard我怎樣才能爲新的Django表單嚮導創建單例視圖?
我想爲所有嚮導進程提供單例視圖類。
這是我的代碼:
class submit(object):
instance = None
def __new__(cls, request, *args, **kwargs):
if not cls.instance:
cls.instance = super(submit, cls).__new__(cls)
cls.form = SubmitStoryWizard.as_view([SubmitStoryForm1, SubmitStoryForm2, SubmitStoryForm3, SubmitStoryForm4])
return cls.instance(request, *args, **kwargs)
def __init__(self):
pass
def __call__(self, request, *args, **kwargs):
return self.form(request)
的問題是,從WizardView繼承TemplateView所以as_view
方法返回的功能。所以,在行中:
cls.form = SubmitStoryWizard.as_view([SubmitStoryForm1, SubmitStoryForm2, SubmitStoryForm3, SubmitStoryForm4])
這就像我在一個類變量中存儲函數。因此,在__call__
方法中,當我調用self.form函數時,Python會自動添加第一個參數作爲該類的引用。 這是我不想要的。
我該如何解決?有任何想法嗎?
對不起,我的英語:S
由於提前,
問候!