[英]flask-wtform placeholder behavior
形式:
class SignUpForm(Form):
username = TextField("Username: ",validators=[Required(),Length(3,24)])
為什么這行得通?
form = SignUpForm()
form.username(placeholder="username")
但不是當您直接使用占位符作為SignUpForm
的參數時?
class SignUpForm(Form):
username = TextField("Username: ",placeholder="username",validators=[Required(),Length(3,24)])
它給出了這個錯誤TypeError: __init__() got an unexpected keyword argument 'placeholder'
我對此有點困惑,因為直接在類上定義它應該與執行form.username(placeholder="username")
相同,但為什么它會給出錯誤?
調用一個字段來呈現它接受任意關鍵字參數來向輸入添加屬性。 如果你想要一個快捷方式來呈現一個帶有標簽作為占位符的字段,你可以編寫一個 Jinja 宏。
{% macro form_field(field) %}
{{ field(placeholder=field.label.text) }}
{% endmacro %}
您還可以通過設置render_kw
參數在定義字段時提供參數以傳遞給每個渲染調用。
username = TextField(render_kw={"placeholder": "username"})
您可以使用“render_kw”在表單類中使用占位符。
class SignUpForm(Form):
username = TextField("Username: ", render_kw={"placeholder": "username"}, validators=[Required(),Length(3,24)])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.