728x90
python은 기본적으로 type이 strict하지 않다.
따라서 parameter나 argument에 사용하는 type이 무엇인지 알수가 없기 때문에 DTO를 쓰면 데이터의 흐름을 보기가 힘든 단점이 있다.
그러나 python은 3.5 ~ 3.8 을 거치며 최신 파이썬은 argument의 type을 보일 수 있게 되었다.
(또한 아래와 같이 argument에 정의한 class를 사용 가능하다.)
from flask import jsonify
from flask_wtf import FlaskForm
from wtforms import StringField
app = Flask(__name__)
class NumberExampleForm(FlaskForm):
class Meta:
csrf = False
first_number = StringField('first_number')
second_number = StringField('second_number')
def add_two(form: NumberExampleForm):
return int(form.first_number.data) + int(form.second_number.data)
@app.route('/print_date', methods=['POST'])
def search_by_time():
# 로그
form = NumberExampleForm()
if form.validate():
return add_two(form)
else:
return jsonify(form.errors)
파이썬 자바스크립트와 같은 타입이 strict하지 않은 언어는 서비스의 규모가 커지며 왔다갔다하는 data의 형태를 알기 어려워지는 경향이 잇다.
그래서 최신 파이썬과, 타입스크립트를 사용하여 언어의 한계를 극복할 수 있다.
728x90
'개발 > python, python frameworks' 카테고리의 다른 글
PyInstaller shell 없애기 (0) | 2020.04.21 |
---|---|
AES256/ base64 암호화 with python (0) | 2020.03.30 |
카카오 로그인 (python에 붙이기) (0) | 2020.03.23 |
python flask - blueprint (0) | 2020.03.12 |
댓글