앞 장의 Flask기본을 활용한 기본 예제이다.


# Flask 인스턴스 생성
from flask import Flask
from flask import render_template
from flask import request, session, redirect, url_for, escape
app = Flask (__name__)
# 위선언된 app로 request경로를 처리하는 함수 @app.route("경로")
# response는 return값으로 처리한다.
@app.route('/')
def index():
return "<h1> Hello PyStock ! </h1>"
# 동적 라우트 app.route의 경로를 <>로 받을경우 함수의 인자로 받을 수 있다.
@app.route('/nos/<code>')
def item(code):
return "<h1> %s </h1>" % code
# templates 구현 ( 템플릿으로 불러올 파일은 templates디렉토리 안에 있어야 한다. )
@app.route('/hello/<name>')
def hello(name):
msg = request.values["msg"]
return render_template('member/Member_Join_001.html', name=name, msg=msg)
# query String 가져오기
@app.route("/msg")
def reverse():
message = request.values["message"]
return "".join(reversed(message))
# 세션제어
app.secret_key = '비미르키'
# 세션을 제어하기 위해서는 비밀키를 우선 설정해 주어야 한다. app.secret_key = ''
@app.route('/log')
def login_index():
if 'username' in session:
return 'Logged in as %s' % escape(session['username'])
return 'You are not logged in'
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
session['username'] = request.form['username'] # session['key'] = 으로 세션객체에 저장가능
#request.values[''] 로도 가능
return redirect(url_for('login_index')) # url_for('함수명') = 해당함수의 접근 url경로 반환
# redirect('경로') 리다이렉트
return '''
<form action="" method="post">
<p><input type=text name=username>
<p><input type=submit value=Login>
</form>
'''
@app.route('/logout')
def logout():
# remove the username from the session if its there
session.pop('username', None) # 세션객체 pop
return redirect(url_for('index'))
if __name__ == "__main__":
app.run(debug=True)
# 콘솔에서 실행해야함
view raw flask basic hosted with ❤ by GitHub