고요빛물결

Python Flask Tutorial #3 - Forms and User Input

· 2019-12-06 (금) 02:34:54 · 1424

https://youtu.be/UIJKdCIEXUQ?list=PL-osiE80TeTs4UjLw5MM6OjgkjFeUxCYH

 

WTFform을 사용해서 register 하는 방법과

flash를 사용해서 상단에 message를 뿌려 주는 방법 (status: Success, Info, Error등)

각 필드에 대한 Validation 그리고 error 메시지 처리까지

 

먼저 https://flask-wtf.readthedocs.io/en/stable/  를 인스톨합니다.

Features

  • Integration with WTForms.
  • Secure Form with CSRF token.
  • Global CSRF protection.
  • reCAPTCHA support.
  • File upload that works with Flask-Uploads.
  • Internationalization using Flask-Babel.

 

pipenv install flask-wtf

 

from flask_wtf import FlaskForm

from wtforms import StringField, PasswordField, SubmitField, BooleanField

from wtforms.validators import DataRequired, Length, Email, EqualTo

 

class RegistrationForm(FlaskForm):

    username = StringField('Username', 

                    validators=[DataRequired(), Length(min=2, max=20)])

    email = StringField('Email',

                    validators=[DataRequired(), Email()])

    password = PasswordField('Password', 

                    validators=[DataRequired()])

    confirm_password = PasswordField('Confirm Password', 

                    validators=[DataRequired(), EqualTo('password')])

    

    submit = SubmitField('Sign Up')

 

class LoginForm(FlaskForm):

    email = StringField('Email',

                    validators=[DataRequired(), Email()])

    password = PasswordField('Password', validators=[DataRequired()])

    remember = BooleanField('Remember Me')

    submit = SubmitField('Login')

 

이 두줄은 Flask에 내장된 함수 같습니다.

from wtforms import StringField, PasswordField, SubmitField, BooleanField

from wtforms.validators import DataRequired, Length, Email, EqualTo

 

1808292852_1575566403.5648.png

 

Login 까지...

 

1808292852_1575567270.1016.png

|
댓글을 작성하시려면 로그인이 필요합니다.
+
제목 글쓴이 날짜 조회
19-11-19 조회 1,259
19-11-08 조회 1,304
19-11-07 조회 1,304
19-11-07 조회 1,440
19-10-30 조회 1,157
19-10-25 조회 1,067
19-10-24 조회 1,129
19-10-24 조회 1,386
19-09-20 조회 5,620
19-08-07 조회 1,498
19-06-11 조회 1,121
19-06-09 조회 2,312
19-06-05 조회 2,003
19-06-04 조회 1,388
19-06-04 조회 1,760
19-06-03 조회 1,508
19-06-03 조회 1,294
19-06-03 조회 1,266
19-06-03 조회 3,726
19-06-02 조회 1,680
19-06-01 조회 1,962
19-06-01 조회 1,735
19-06-01 조회 1,740
19-06-01 조회 1,889
19-06-01 조회 1,968
19-05-31 조회 1,937
19-05-31 조회 2,388
19-05-31 조회 2,036
19-05-31 조회 1,653
19-05-31 조회 2,098