0

私はDjangoにかなり慣れていません。表示する必要があるフォームがあるため、FormView クラスを使用しています。ただし、このクラスを使用するように変更したため (以前は通常の関数として使用していました)、エラーが発生しています。

__init__() takes exactly 1 argument (2 given)

場所:

/Library/Frameworks/EPD64.framework/Versions/7.3/lib/python2.7/site-packages/django/core/handlers/base.py in get_response, line 111

トレースバックは単純です:

response = callback(request, *callback_args, **callback_kwargs)

関連するビューは次のとおりです。

class HMFInput(FormView):
    """
    The form for input. 
    """
    template_name = 'hmfform.html'
    form_class = forms.HMFInput
    success_url = '/hmf_finder/hmf_image_page/'

    def form_valid(self,form):
        canvas, file_object = utils.hmf_output(form)
        self.request.session["canvas"] = canvas
        self.request.session["text"] = file_object
        return super(HMFInput,self).form_valid(form)

ドキュメントの例にほぼ正確に従おうとしました。何がうまくいかないのですか?

編集:urls.py次のようにビューを呼び出します:

url(r'^hmf_finder/$',
    'hmf_finder.views.HMFInput',
    name = 'HMF-input'),

乾杯。

4

1 に答える 1

1

urls.py でこれを試してください:

from finder.views import HMFInput

url(r'^hmf_finder/$', HMFInput.as_view(), name = 'HMF-input'),
于 2012-12-11T08:04:15.883 に答える