Flask

[Flask] redirect, url_for 활용

땅콩새싹 2020. 9. 24. 17:13
반응형

redirect,  url_for 활용

 


 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from flask import Flask, redirect, url_for
app = Flask(__name__)
 
@app.route('/admin')
def hello_admin():
   return 'Hello Admin'
 
@app.route('/guest/<guest>')
def hello_guest(guest):
   return 'Hello %s as Guest' % guest
 
@app.route('/user/<name>')
def hello_user(name):
   if name =='admin':
      return redirect(url_for('hello_admin'))
   else:
      return redirect(url_for('hello_guest',guest = name))
 
if __name__ == '__main__':
    app.run(host='0.0.0.0', port='80',debug = True)

Flask 'redirect'와 'url_for'을 활용해 보겠습니다.

이 함수를 사용하기 위해서는 맨 윗줄에서 꼭 import 해 주어야 합니다.

 

@app.route('/admin')에서 localhost/admin으로 입력했을 때 'Hello Admin'을 출력했습니다.

 

 

@app.route('/guest/<guest>')에서 <guest>자리에 입력한 PY가 %s로 들어오게 되어

화면에 'Hello PY as Guest'가 출력됩니다.

 

@app.route('/user/<name>')에서 <name>자리에 admin이 들어오게 된다면

함수가 redirect되어서 'hello_admin()' 함수를 호출하게 되어 'Hello Admin'을 출력합니다.

 

그리고 <name>자리에 admin이 아닌 다른 문자가 들어오게 된다면

'hello_guest'함수가 호출이 되고 guest 변수에 name에 입력된 'PY'가 저장되고

화면에 'Hello PY as Guest'가 출력이 됩니다.

반응형