http://localhost:{port}/lotto --> 로또
http://localhost:{port}/calc --> 계산기
http://localhost:{port} 에 접근했을때는 'bi hi~' 메세지
이 루트로 접근할수있게 flask로 구현하는 예제를 만들어 보려 합니다!
바로 직전에 했던 Flask 환경을 구성했던 코드를 생각하며, lotto 부분을 추가해 보았습니다.
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'bi Hi~~!!!!!' @app.route('/lotto') def return if __name__ == '__main__': app.run()
위 코드를 실행 해 보겠습니다!
bi Hi~~!!! 는 잘 출력이 되는 모습!
/lotto 로 넘어오니 바로 에러가 ㅎㅎ
lotto 코드에는 문제가 없는지 먼저 체크를 해 보아야 할 것 같습니다.
다른 코드를 제거하고 lotto 부분만 남겨 실행해 보겠습니다.
코드에도 없는 bi Hi~~!!! 가 출력되는 상황!
폴더를 바꿔도 파일명을 바꿔도 아에 다른 코드를 실행해도 맨 처음 실행했던 값만 나온다...
localhost가 중복되어 계속 오류가 뜨는거였습니다!
코드 마지막 부분 app.run() 에서 port 번호를 지정하여 실행했더니 오류가 해결됐습니다.
app.run(port=5555) 를 넣어주는 순간!
드디어 문제점을 알 수 있는 정상적인 오류가 나타났습니다!
아래서 세번째 줄을 보면 return render_template("lotto.html", variable=lotto) 부분에서
오류가 난 것을 알 수 있습니다.
해당 오류는 render_template를 사용하였는데
lotto.html 파일이 templates 폴더 안에 있지 않아 발생한 오류였습니다.
기존에 lotto_calculator.py 와 같은 경로에 있던 lotto.html을 templates 폴더안으로 넣어줍니다.
그 후 실행시켜 주면 !!!!!!!
정상적으로 실행되는 모습을 볼 수 있습니다.
/lotto 으로 접속했을때도 정상적으로 작동합니다!
새로고침을 할 경우 새로운 숫자로 변경됩니다.
계산기 코드를 추가해 줍니다.
에러가 발생하는 부분을 보면 request 모듈을 못찾았습니다.
3번째 라인의 기존 import reqoust 를
from flask import request 으로 수정해 줍니다.
적상적으로 작동하는 모습!
/calc 으로 접근하려니 Not Found가 뜹니다.
calc을 clac로 코드를 잘못 작성하여 바로 수정해 주었습니다.
17번 라인의 @app.route('/clac') 의 오타를 @app.route('/calc') 로 고쳐준 후 실행합니다.
정상적으로 출력됩니다!!
수식을 입력 후 calc 버튼을 눌러주면 값이 나옵니다.