2010-07-27 44 views
8

Có thể có một số thuộc tính mới chỉ các thuộc tính được sử dụng trong HTML5, bên trong WTForms không?WTForms ... html, tự động lấy nét?

Ví dụ: giả sử bạn muốn tạo một TextField với placeholder = "foo", bắt buộc và tự động lấy nét thuộc tính. Làm thế nào điều này sẽ được thực hiện trong WTForms?

Trong html nó sẽ trông như thế này: <input maxlength="256" name="q" value="" placeholder="foo" autofocus required>

Lưu ý rằng placeholder="foo" có thể dễ dàng thực hiện trong WTForms. autofocusrequired, bởi vì chúng không có giá trị, là .. tốt, theo như tôi đã thấy, không được hỗ trợ trong WTForms.

WTForms có thể hỗ trợ điều này không?

Trả lời

22

Trong WTForms 1.0, phát hành ngày hôm qua, cú pháp nhỏ gọn HTML5 giờ đây là mặc định. Bây giờ bạn có thể làm (trong jinja):

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

Lưu ý rằng trong Jinja, nghĩa đen là true thay vì True nhưng nếu bạn đã thử điều này trong python console, bạn sẽ cần phải sử dụng python đen True cho điều này làm việc.

Trong WTForms 0.6.x, sử dụng XHTML làm đầu ra mặc định, bạn có thể thực hiện ví dụ:

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

Đây là cách được khuyến nghị để đại diện cho các thuộc tính boolean trong XHTML và điều này xảy ra vẫn là 100% hợp lệ HTML5 và hoàn toàn tương đương, mặc dù HTML được tạo ra tiết kiệm hơn một chút.

3

Tôi mới với WTForms nhưng có vẻ như với tôi rằng các giải pháp có thể được cải thiện thay vì sử dụng:

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

sử dụng:

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

WTForms dường như không để xử lý một cách chính xác required=false cho 100 % HTML5 và đặt trong HTML là attr required="False" thay vì xóa attr. Điều này có thể được cải thiện trong phiên bản tiếp theo của WTForms không?

+1

Vá vá hành vi attr = false vừa được hợp nhất thành 2.0dev: https://github.com/wtforms/wtforms/pull/17#issuecomment-28162938 – thpani

Các vấn đề liên quan