2010-07-27 11 views
8

Czy możliwe jest posiadanie niektórych atrybutów nowego atrybutu użytego w HTML5, wewnątrz WTForms?WTForms ... html, autofocus?

Np. Powiedz, że chcesz utworzyć pole tekstowe z symbolami zastępczymi = "foo", wymagane i automatyczne ustawianie ostrości. Jak to zrobić w WTForms?

w HTML będzie wyglądać następująco: <input maxlength="256" name="q" value="" placeholder="foo" autofocus required>

Zauważ, że placeholder="foo" jest łatwo zrobić w WTForms. autofocus i required, ponieważ nie mają wartości, są ... cóż, o ile widziałem, nie są obsługiwane w WTForms.

Czy WTForms może to wspierać?

Odpowiedz

22

W wydanym wczoraj WTForms 1.0 składnia kompaktowa HTML5 jest teraz domyślna. Teraz można zrobić (w Jinja):

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

pamiętać, że w Jinja, dosłowne jest true zamiast True ale jeśli było spróbować tego w konsoli Pythona trzeba będzie użyć Pythona dosłownego True tego pracować.

W WTForms 0.6.x, który użył XHTML jako domyślnego wyjścia, możesz zrobić np.

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

Jest to zalecany sposób do reprezentowania logicznych atrybuty XHTML, a to dzieje się jeszcze w 100% poprawny HTML5 i całkowicie równoważne, chociaż HTML generowany jest nieco bardziej rozwlekły.

3

jestem nowy z WTForms ale wydaje mi się, że rozwiązaniem mogłoby być lepsze, zamiast używać:

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

zastosowanie:

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

WTForms wydaje się nie obsługiwać poprawnie required=false dla 100 % HTML5 i ustawia w HTML i attr required="False" zamiast usuwać attr. Czy można to poprawić w następnej wersji WTForms?

+1

Poprawka, która naprawia zachowanie attr = false, została właśnie scalona z wersją 2.0dev: https://github.com/wtforms/wtforms/pull/17#issuecomment-28162938 – thpani

Powiązane problemy