Flask 서버를 구현하면서..
rps.html 파일을 만들고, app.py 파일에 아래와 같은 코드를 작성하여 '/game/ 에 대한 요청이 오면 rps.html의 페이지를 보여주고 싶었다.
@app.route("/game/")
def game():
return render_template('rps.html')
근데 빌드 에러가 났다.

분명히 HTML 파일만 열면 브라우저에서 단독으로 잘 열리는데,
Flask 서버로 하려니 안되는 신기한 현상..
아무리 이리저리 서치를 하고, GPT에도 원인을 물어봤지만
GPT 답변은
Flask에서 URL을 라우팅할 때는 URL 패턴과 뷰 함수를 매핑하는데, URL 패턴은 대소문자를 구분합니다. 따라서 /game/과 /rps/는 서로 다른 URL 패턴으로 처리됩니다.
첫 번째 코드에서 @app.route("/game/")은 /game/에 대한 요청이 들어왔을 때 game() 함수를 호출하는 라우트를 정의합니다. 따라서 /game/에 접속하면 game() 함수가 실행되고, 이 함수에서는 rps.html을 렌더링하여 클라이언트에 반환합니다.
두 번째 코드에서 @app.route("/rps/")은 /rps/에 대한 요청이 들어왔을 때 rps() 함수를 호출하는 라우트를 정의합니다. 따라서 /rps/에 접속하면 rps() 함수가 실행되고, 마찬가지로 rps.html을 렌더링하여 클라이언트에 반환합니다.
따라서 실행되지 않았던 첫 번째 코드가 실행되지 않는 이유는 /game/에 대한 요청이 들어오지 않았거나, 다른 부분에서 예상치 못한 오류가 있을 수 있습니다. 정확한 이유를 확인하려면 해당 코드가 실행되는 환경과 관련된 로그 또는 디버깅 정보를 살펴보는 것이 도움이 될 것입니다.
인데..
내가 바보도 아니고 "game" 철자를 틀리거나 대소문자를 틀릴 리도 없고...
우선은 URL과 함수명을 game에서 html 파일 명과 동일한 rps로 바꿨더니, 실행이 잘 되었다.
@app.route("/rps/")
def rps():
return render_template('rps.html')
또 잘되길래 다시 game으로 바꿨더니 안되는 신기한 현상....
왜 안될까.. GPT한테 너가 틀렸다고 물어도 똑같은 답만 준다.
우선 이걸로 시간 더 쓸 수는 없으니.. 앞으로 flask 서버 구현 시 혹시 모르니 저기 이름만 맞춰줘야겠다.