我对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'),
干杯。
答案 0 :(得分:1)
在urls.py中尝试此操作:
from finder.views import HMFInput
url(r'^hmf_finder/$', HMFInput.as_view(), name = 'HMF-input'),