Study/Error !
Flask/Error : Could not build url for endpoint 'AAA'. Did you mean 'CCC' instead?
colalove5562
2022. 10. 26. 15:29
Error Code : Could not build url for endpoint 'AAA'. Did you mean 'CCC' instead?
Flask의 redirect 기능을 사용하려고 했는데 문제가 생겼다.
기존에는 url : (127.0.0.1/1) 을 입력하면 마이페이지로 이동하도록 했는데, 코드정리를 하면서 제대로된 이름을 사용하고자 이름을 바꿨다. 그런데 이미 이 좋지못한 url이 익숙해져서; 당분간은 /AAA 로 쓰더라도 마이페이지에 접속할 수 있도록
redirect 기능을 쓰고자 했다.
처음부터 함수, 주소 이름을 잘 짓는 습관을 길러야하는데...
참고로 redirect는 사전적인 의미로 전송하다, 다시 보내다 라는 의미에서 유추할 수 있듯이, 원하는 페이지로 이동하도록 넘겨주는 역할? 이라고 생각하면 된다.
@app.route('/AAA', methods=['GET', 'POST'])
def aa():
return redirect(url_for('mypage'))
@app.route('/mypage', methods=['GET', 'POST'])
def mypage():
return render_template("user/mypage.html")
내가 작성한 코드는 위와 같은데,
어디서 코드가 꼬인건지 /AAA 링크로 접속하면 에러와 함께 혹시 내가 찾는 페이지가 'CCC' 페이지는 아니니? 라는 문구가 보인다. 아닌데
해결 방법
@app.route('/AAA', methods=['GET', 'POST'])
def aa():
return redirect(url_for('.mypage'))
@app.route('/mypage', methods=['GET', 'POST'])
def mypage():
return render_template("user/mypage.html")
틀린그림 찾기를 하는 것 같겠지만... 바로 해결 방법을 말하자면
내가 이동하고자 하는 페이지를 제대로 인식하지 못하는 것 같으니, url_for('.mypage') 이부분에서 상대경로로 인식하게 만들기 위해서 온점(.)이 추가되었다.
참고 링크