簡體   English   中英

flask-wtform 占位符行為

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM