WTForms外掛程式

來源:互聯網
上載者:User

標籤:oval   eth   ring   validator   char   資料   __name__   regexp   simple   

一,介紹

WTForms外掛程式是類似於django的form組件的外掛程式,可以幫我們寫標籤,校正資料等。

二,使用
pip install WTForms
from wtforms import Formfrom wtforms.fields import simple, corefrom wtforms import validatorsclass RegForm(Form):    username = simple.StringField(        label="使用者名稱",        validators=[            validators.DataRequired(message="資料不可為空!"),            validators.length(min=4, max=6, message="使用者名稱不能少於4位且不能大於6位")        ],        render_kw={"class": "form-control", "pp": "88"}    )    password = simple.PasswordField(        label="密碼",        validators=[            validators.DataRequired(message="密碼不可為空!"),            validators.length(min=6, max=16, message="密碼不能少於6位且不能大於6位"),            validators.Regexp(regex="\d+", message="密碼必須是數字")        ],        render_kw={"class": "form-control", "pp": "88"}    )    re_password = simple.PasswordField(        label="確認密碼",        validators=[            validators.EqualTo(fieldname="password", message="兩次密碼不一致")        ],        render_kw={"class": "form-control"}    )    gender = core.RadioField(        label="性別",        validators=[            validators.DataRequired(message="請先選擇一個性別!")        ],        choices=((1, "男"), (2, "女")),        coerce=int,        # default=1,    )    hobby = core.SelectMultipleField(        label="愛好",        choices=((1, "遊戲"), (2, "妹子"), (3, "漢子")),        coerce=int,        default=[1, 2],        render_kw={"class": "form-control"}    )@app.route("/register", methods=("GET", "POST"))def reg():    form_obj = RegForm()    if request.method == "POST":        print(request.form)        form_obj = RegForm(request.form)        if form_obj.validate():            ers = request.form.to_dict()            print(ers)            print(form_obj.data)            return "註冊成功"    return render_template("reg.html", form_obj=form_obj)if __name__ == ‘__main__‘:    app.run(debug=True)

前端:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"          integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"></head><body><div class="container">    <div class="row">        <div class="col-md-4 col-md-offset-4">            <form action="" method="post" novalidate>                {% for field in form_obj %}                    <div class="form-group">                        {{ field.label }}                        {{ field }}                        {{ field.errors.0 }}                    </div>                {% endfor %}                <div>                    <button class="btn btn-primary btn-lg btn-block">註冊</button>                </div>            </form>        </div>    </div></div></body></html>

 

WTForms外掛程式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.