반응형
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'가 출력이 됩니다.
반응형
'Flask' 카테고리의 다른 글
[Flask] url_for, render_template를 이용해 LOGIN BOX CSS 적용하기 + Bootstrap (4) | 2020.09.24 |
---|---|
[Flask] url_for, render_template를 이용해 이미지 출력하기 (0) | 2020.09.24 |
[Flask] escape, request 활용 (0) | 2020.09.24 |
[Flask] 경로 랜더링 render_template (0) | 2020.09.24 |
[Flask] 플라스크 환경 구성 (using Anaconda, Visual Studio Code) (0) | 2020.09.23 |