Flask-WTF를 사용하여 양식 유효성 검사를 구현하는 방법

PHPz
풀어 주다: 2023-08-03 18:53:05
원래의
895명이 탐색했습니다.

Flask-WTF를 사용하여 양식 유효성 검사를 구현하는 방법

Flask-WTF는 웹 양식 유효성 검사를 처리하기 위한 Flask 확장 프로그램으로 사용자가 제출한 데이터의 유효성을 검사하는 간결하고 유연한 방법을 제공합니다. 이 문서에서는 Flask-WTF 확장을 사용하여 양식 유효성 검사를 구현하는 방법을 보여줍니다.

  1. Flask-WTF 설치

Flask-WTF를 사용하려면 먼저 설치가 필요합니다. pip 명령을 사용하여 설치할 수 있습니다:

pip install Flask-WTF
로그인 후 복사
  1. 필요한 모듈 가져오기

Flask 애플리케이션에서 Flask-WTF를 사용하려면 일부 모듈을 가져와야 합니다. app.py 파일에 다음 import 문을 추가합니다.

from flask import Flask, render_template, request
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, SubmitField
from wtforms.validators import DataRequired, Length
로그인 후 복사

여기에서 가져온 모듈에는 Flask, FlaskForm 및 일반적으로 사용되는 일부 필드와 유효성 검사기가 포함됩니다.

  1. 양식 클래스 만들기

app.py 파일에서 FlaskForm을 상속하는 양식 클래스를 만듭니다. 각 양식 필드는 클래스의 속성으로 정의되며, 적용할 유효성 검사기는 validators 매개 변수를 통해 지정할 수 있습니다. 예를 들어 다음은 간단한 로그인 양식 클래스입니다.

class LoginForm(FlaskForm):
    username = StringField('用户名', validators=[DataRequired(), Length(min=4, max=20)])
    password = PasswordField('密码', validators=[DataRequired()])
    submit = SubmitField('登录')
로그인 후 복사

이 양식 클래스에는 사용자 이름 필드, 비밀번호 필드 및 제출 버튼이 포함되어 있습니다.

  1. Flask 앱 만들기

Flask 앱을 ​​만들고 라우팅 기능에서 양식을 사용하세요. 예:

app = Flask(__name__)
app.secret_key = 'your-secret-key'

@app.route('/login', methods=['GET', 'POST'])
def login():
    form = LoginForm()
    if form.validate_on_submit():
        # 表单验证通过
        # 执行登录逻辑
        return '登录成功'
    return render_template('login.html', form=form)

if __name__ == '__main__':
    app.run()
로그인 후 복사

이 예에서는 로그인 양식을 표시하기 위해 /login 경로를 만들었습니다. 사용자가 양식을 제출하면 확인을 위해 verify_on_submit() 메서드가 호출됩니다. 확인이 통과되면 로그인 논리가 실행될 수 있습니다. 그렇지 않으면 양식 페이지가 다시 렌더링되고 확인 오류 메시지가 표시됩니다.

  1. 템플릿 파일 생성

템플릿 폴더에 login.html이라는 이름의 템플릿 파일을 생성하여 로그인 양식을 표시합니다. Flask-WTF에서 제공하는 양식 속성을 사용하여 양식 HTML 코드 및 유효성 검사 오류 정보를 생성할 수 있습니다. 예:

<!DOCTYPE html>
<html>
<head>
    <title>登录</title>
</head>
<body>
    <h1>登录</h1>
    <form method="POST" action="{{ url_for('login') }}">
        {{ form.csrf_token }}
        {{ form.username.label }} {{ form.username }}
        {% for error in form.username.errors %}
            <span style="color: red;">{{ error }}</span>
        {% endfor %}
        <br>
        {{ form.password.label }} {{ form.password }}
        {% for error in form.password.errors %}
            <span style="color: red;">{{ error }}</span>
        {% endfor %}
        <br>
        {{ form.submit }}
    </form>
</body>
</html>
로그인 후 복사

이 템플릿 파일에서 form.csrf_token을 사용하여 교차 사이트 요청 위조 방지 필드를 생성합니다. 양식 필드와 유효성 검사 오류 메시지는 각각 양식 필드와 form.errors 속성을 통해 생성될 수 있습니다.

  1. 애플리케이션 실행

다음 명령을 사용하여 애플리케이션을 실행하세요.

python app.py
로그인 후 복사

로그인 페이지를 보려면 브라우저에서 http://localhost:5000/login을 방문하세요. 사용자 이름과 비밀번호를 입력하고 제출 버튼을 클릭하면 확인 결과에 따라 양식 데이터가 확인되고 처리되는 것을 볼 수 있습니다.

위는 Flask-WTF를 사용하여 양식 유효성 검사를 구현하는 기본 단계입니다. 이 방법을 통해 사용자가 제출한 데이터를 쉽게 검증하여 적법성과 보안을 보장할 수 있습니다. 뿐만 아니라 Flask-WTF는 파일 업로드, 다국어 지원 등과 같은 기타 풍부한 기능도 제공합니다. 이 글이 여러분에게 도움이 되기를 바라며, Flask-WTF를 사용하여 양식 유효성 검사를 더 잘 처리할 수 있기를 바랍니다.

위 내용은 Flask-WTF를 사용하여 양식 유효성 검사를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿