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 回答