WTForms로 양식 필드를 렌더링하는 데 문제가 있습니다. 저는 webapp 프레임 워크와 장고 템플릿을 GAE에 사용하고 있습니다.WTForm이 필드를 렌더링하지 않습니다.
나는 간단한 프로젝트를 테스트로 만들었고 정상적으로 작동했다. 여기에 더 큰 프로젝트의 일부 코드 문제로 하나 :
template_vars = {
'form':ShowBoardForm()
}
path = os.path.join(os.path.dirname(__file__),'templates','showboard.html')
self.response.out.write(template.render(path,template_vars))
:
class ShowBoardForm(Form):
name = TextField('Name', [validators.Length(max=20)])
email = TextField('Email', [validators.Length(max=20)])
subject = TextField('Subject', [validators.Length(max=20)])
textfield = TextAreaField('Comment', [validators.Length(max=2000)])
filefield = FileField('Image')
가 그리고 여기에 폼 클래스의 코드 조각은 요청 처리기에서 사용하고 있어요 (I 어떤 관련이없는 코드를 ommited) 여기에 내가 템플릿에 form
을 사용하고 있습니다 방법은 다음과 같습니다
...
<form method='post' action='{{ url }}/post' enctype='multipart/form-data'>
{{ form.name.label }}{{ form.name }}<br/>
{{ form.email.label }}{{ form.email }}<br/>
{{ form.subject.label }}{{ form.subject }}<br/>
{{ form.textfield.label }}{{ form.textfield }}<br/>
{{ form.filefield.label }}{{ form.filefield }}<br/>
<input type='submit' value='ok'/>
</form>
...
문제는 그 대신 나에게 필드의 HTML 표현, form.name
,을주는등 ... 템플릿에 이런 종류의 출력이 있습니다 : <form.TextField instance at 0xac261ec>
또는 <form.TextAreaField instance at 0x966e76c>
등 ... 제가 언급 한 테스트 프로젝트에서 똑같은 일을했는데 잘 작동하는 것 같습니다. 여기서 무엇이 잘못 될 수 있습니까?