< 폴더 경로 >
< app.py >
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
from flask import Flask, redirect, url_for, render_template, request
# Initialize the Flask application
app = Flask(__name__)
@app.route('/')
def index():
return render_template('log_in.html')
@app.route('/login',methods = ['POST', 'GET'])
def login():
if request.method == 'POST' and request.form['username'] == 'admin' :
# post로 들어오면서 username값이 admin일 때.
return redirect(url_for('success'))
else:
return redirect(url_for('index'))
@app.route('/success')
def success():
return 'logged in successfully'
if __name__ == '__main__':
app.run(host='0.0.0.0', port = 80, debug = True)
|
admin 이외에 값을 입력할 경우
redirect(url_for('index')) 코드로 인하여 현재 페이지로 이동된다.
브라우저상에서는 새로고침 버튼(F5)을 누른 것같이 보인다.
admin일 때만 로그인 성공!
< app2.py >
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
from flask import Flask, redirect, url_for, render_template, request, abort
app = Flask(__name__)
@app.route('/')
def index():
return render_template('log_in.html')
@app.route('/login',methods = ['POST', 'GET'])
def login():
if request.method == 'POST':
if request.form['username'] == 'admin' :
return redirect(url_for('success'))
else:
abort(401) #내장되어있는 abort함수를 통해서 간단한 에러메세지창을 출력함.
else:
return redirect(url_for('index'))
@app.route('/success')
def success():
return 'logged in successfully'
if __name__ == '__main__':
app.run(host='0.0.0.0', port = 80, debug = True)
|
admin값 이외에 값을 입력할 시 abort함수로 인해 에러 메세지 창이 출력된다.
admin을 입력하면 app.py코드와 같은 결과값을 출력한다.
'PRACTICE > Basic' 카테고리의 다른 글
[Flask] File Uploading 예제 (파일 제출 안할 경우 flash로 에러메시지 출력) (0) | 2020.09.24 |
---|---|
[Flask] Message Flashing 예제 (0) | 2020.09.24 |
[Flask] Sessions 예제 (0) | 2020.09.24 |
[Flask] Cookies 예제 (0) | 2020.09.24 |
[Flask] jinja template 활용하여 static 폴더의 자료 가져오기 (0) | 2020.09.24 |
댓글