Python Flask 연습하기

bi_sz·2022년 3월 10일
0

Python

목록 보기
3/15
post-thumbnail

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 버튼을 눌러주면 값이 나옵니다.


0개의 댓글