Flask-WTF 를 사용하여 파이썬 스크립트에서 양식 필드를 정의하고 HTML 템플릿을 사용하여 렌더링 할 수 있다. WTF 필드에 유효성 검사를 적용할 수도 있다. 먼저 Flask-WTF 와 email_validator 패키지를 설치한다. pip install flask-WTF pip install email_validator 파일명 : forms.py from flask_wtf import Form from wtforms import TextField, IntegerField, TextAreaField, SubmitField, RadioField, SelectField from wtforms import validators, ValidationError class ContactForm(Form) :..
Flask 는 Flask-Mail 을 이용하여 간단한 인터페이스를 통해 이메일을 발송할 수 있다. 우선 Flask-Mail 익스텐션을 설치해야 한다. pip install Flask-Mail 파일명 : 14_mail.py from flask import Flask from flask_mail import Mail, Message app = Flask(__name__) mail = Mail(app) app.config['MAIL_SERVER'] = 'smtp.gmail.com' app.config['MAIL_PORT'] = 465 app.config['MAIL_USERNAME'] = '본인의계정@gmail.com' app.config['MAIL_PASSWORD'] = '비밀번호' app.config['MA..
플라스크에서 파일 업로드를 처리하는 것은 굉장히 쉽다. enctype 속성을 "multipart/form-data" 로 설정한 HTML 양식을 필요로 한다. URL핸들러는 request.files[] 객체에서 파일을 가져와 원하는 위치에 저장한다. 업로드 된 파일은 실제로 최종 위치에 저장되기 전 서버의 임시 위치에 저장이 된다. 대상 파일의 이름은 하드코딩 되거나 request.files[file] 객체의 filename 속성에서 가져올 수 있지만, secure_filename() 함수를 이용하여 보안처리를 해주는 것이 좋다. 파일명 : 13_upload.html enctype 속성을 multipart/form-data 로 가진 심플한 html 이다. 파일명 : 13_file_uploading.py f..
Flask 웹어플리케이션에서는 정보 메세지를 쉽게 생성할 수 있다. Flask 프레임워크의 플래싱 기능을 이용하면 하나의 뷰에서 메세지를 생성하고 next 라는 뷰 함수에서 이를 렌더링 할 수 있다. 파일명 : 12_messaage_flashing.py from flask import Flask, flash, redirect, render_template, request, url_for app = Flask(__name__) app.secret_key = 'random string' @app.route('/') def index(): return render_template('12_index.html') @app.route('/login', methods = ['GET', 'POST']) def logi..