python - Web9
python flask9
1. 리다이렉트를 주소가 아닌 함수명을 통해 이동하기
@app.route('/')
def home():
return redirect(url_for('mainService'))
@app.route('/main')
def mainService():
return 'main service'
return redirect(url_for('mainService'))
: redirect 함수를 통해 페이지를 이동한다. 원래 redirect(location)이지만 url_for 함수를 통해 주소가 아닌 실행해야 할 함수명을 인자로 전달한다. url_for(endpoint)은 endpoint로 가는 주소를 만들어주는 함수다. endpoint는 종단점으로 가장 마지막 지점을 의미한다. 즉, 마지막으로 보여줄 페이지의 주소를 만들어 준다. endpoint 뒤로는 인자가 올 수 있다.위 코드에서
redirect(url_for('mainService')) 는 redirect('/mian')과 같은 역할을 한다. url_for()을 사용하면 주소(의 이름)이 변경되더라도 함수명은 고유하기때문에 유지보수에서 효율성을 늘린다.
전체코드
from flask import Flask, url_for, redirect
app = Flask(__name__)
@app.route('/')
def home():
return redirect(url_for('mainService'))
@app.route('/main')
def mainService():
return 'main service'
if __name__ == '__main__':
app.run(debug=True)
댓글
댓글 쓰기