2010-07-27 3 views
8

HTML5에서 WTForms 내부에서 사용되는 새로운 속성 만 일부 속성을 가질 수 있습니까?WTForms ... html, 자동 초점?

예를 들어, 자리 표시 자 = "foo", 필수 및 자동 초점 속성을 사용하여 TextField를 만들고 싶다고합시다. 이것이 WTForms에서 어떻게 이루어 집니까?

HTML에서 그 결과는 다음과 같습니다 <input maxlength="256" name="q" value="" placeholder="foo" autofocus required>

placeholder="foo" 것을 쉽게 WTForms에서 이루어집니다. autofocusrequired은 아무런 가치가 없기 때문에 내가봤을 때 WTForms에서는 지원되지 않습니다.

WTForms가이를 지원할 수 있습니까?

답변

22

어제 발표 된 WTForms 1.0에서 HTML5 압축 구문이 기본값으로 변경되었습니다. 신사에서 문자가 true 대신 True 것을

{{ form.field(autofocus=true, required=true, placeholder="foo") }} 

참고하지만 파이썬 콘솔에서 이것을 시도한다면이 리터럴 파이썬 True를 사용해야합니다 : 지금 당신은 (신사에서) 할 수 일하다.

XHTML을 기본 출력으로 사용한 WTForms 0.6.x에서 예를 들어 다음과 같이 할 수 있습니다.

{{ form.field(autofocus="autofocus", required="required", placeholder="foo" }} 

이 XHTML에서 부울 속성을 표현하기위한 권장되는 방법이며, 생성 된 HTML이 조금 더 장황하지만이 여전히 100 %를 유효 HTML5와 완전히 동등한 될 일이.

3

나는 WTForms 새로운 해요하지만 솔루션을 사용하는 대신 향상 될 수 있다는 것을 나에게 보인다

{{ form.field(autofocus=true, required=true, placeholder="foo") }} 

사용 :

{% if field.flags.required %} 
    {{ field(autofocus=true, required=field.flags.required, placeholder="foo") }} 
{% else %} 
    {{ field(autofocus=true, placeholder="foo") }} 
{% endif %} 

WTForms가 제대로 required=false 100를 처리 할 수없는 것 % HTML5를 사용하고 attr을 제거하는 대신 att32 required="False"을 HTML에 설정합니다. 이것이 WTForms의 다음 버전에서 향상 될 수 있습니까?

+1

attr = false 동작을 수정하는 패치가 2.0dev로 병합되었습니다. https://github.com/wtforms/wtforms/pull/17#issuecomment-28162938 – thpani