[flask] 플라스크 - 02. Flask 기초
Flask 기초
Flask Basic
[1] 첫 화면 띄우기
app.py 파일 생성 후 코드 작성
from flask import Flask # Flask import app = Flask(__name__) # app 초기화 과정 @app.route("/") # Decorator # route 디렉토리로 들어오면 hello world를 출력시킬거란 의미 def hello(): return "Hello World!" # app.py 파일이 'python app.py'로 시작되었을 때 서버를 시작하겠다 라는 의미. if __name__ == '__main__': app.run(debug=True) # 서버가 실행이 되어있는동안 수정이 되면 자동으로 재시작을 하겠다 라는 의미
터미널에서
flask run
또는python app.py
실행하면 아래와 같은 결과를 볼 수 있다.
[2] 경로 변경해서 화면 띄우기
app.py 코드 작성
from flask import Flask # Flask import app = Flask(__name__) # app 초기화 과정 @app.route('/hello') def hello_new(): return "Hello? Hello! New World!" # app.py 파일이 'python app.py'로 시작되었을 때 서버를 시작하겠다 라는 의미. if __name__ == '__main__': app.run(debug=True) # 서버가 실행이 되어있는동안 수정이 되면 자동으로 재시작을 하겠다 라는 의미
터미널에서
flask run
또는python app.py
실행하면 아래와 같은 결과를 볼 수 있다.
[3] 변수 받기!
app.py 코드 작성
from flask import Flask # Flask import app = Flask(__name__) # app 초기화 과정 @app.route('/greeting/<string:name>') def greeting(name): # name이라는 변수를 받겠다라는 의미 return f'반갑습니다! {name}님!' # app.py 파일이 'python app.py'로 시작되었을 때 서버를 시작하겠다 라는 의미. if __name__ == '__main__': app.run(debug=True) # 서버가 실행이 되어있는동안 수정이 되면 자동으로 재시작을 하겠다 라는 의미
터미널에서
flask run
또는python app.py
실행하면 아래와 같은 결과를 볼 수 있다.
[4] 계산 가능!
app.py 코드 작성
from flask import Flask # Flask import app = Flask(__name__) # app 초기화 과정 @app.route('/cube/<int:num>') def cube(num): result = num ** 3 # 3제곱이라는 의미(num*num*num 같다.) return str(result) # return은 string 값을 가져오기 때문에 위와 return result만 하면 타입 오류가 발생한다. 그래서 str(return)을 해야한다. # app.py 파일이 'python app.py'로 시작되었을 때 서버를 시작하겠다 라는 의미. if __name__ == '__main__': app.run(debug=True) # 서버가 실행이 되어있는동안 수정이 되면 자동으로 재시작을 하겠다 라는 의미
터미널에서
flask run
또는python app.py
실행하면 아래와 같은 결과를 볼 수 있다.
[5] 랜덤 처리!
app.py 코드 작성
from flask import Flask # Flask import import random app = Flask(__name__) # app 초기화 과정 @app.route('/lunch/<int:person>') def lunch(person): # menu 라는 리스트를 만들고 # 사람 수 만큼 랜덤 아이템을 뽑아서 반환 menu = ['짜장면', '짬뽕', '짬짜면', '삼선고추짬뽕', '복짬면', '탕수육'] order = random.sample(menu, person) return f'{order} 주문할게요!' # app.py 파일이 'python app.py'로 시작되었을 때 서버를 시작하겠다 라는 의미. if __name__ == '__main__': app.run(debug=True) # 서버가 실행이 되어있는동안 수정이 되면 자동으로 재시작을 하겠다 라는 의미
터미널에서
flask run
또는python app.py
실행하면 아래와 같은 결과를 볼 수 있다.
[6] 리턴 값 꾸미기
app.py 코드 작성
from flask import Flask # Flask import app = Flask(__name__) # app 초기화 과정 @app.route('/html') def html(): return ''' <h1>Happy Hacking!</h1> <p>즐겁게 코딩합시다 :)</p> ''' # app.py 파일이 'python app.py'로 시작되었을 때 서버를 시작하겠다 라는 의미. if __name__ == '__main__': app.run(debug=True) # 서버가 실행이 되어있는동안 수정이 되면 자동으로 재시작을 하겠다 라는 의미
터미널에서
flask run
또는python app.py
실행하면 아래와 같은 결과를 볼 수 있다.
[7] 파일 불러 리턴하기
app.py 코드 작성
from flask import Flask, render_template app = Flask(__name__) @app.route('/html_file') def html_file(): return render_template('html_file.html') # import render_template 해야 사용 가능 # app.py 파일이 'python app.py'로 시작되었을 때 서버를 시작하겠다 라는 의미. if __name__ == '__main__': app.run(debug=True) # 서버가 실행이 되어있는동안 수정이 되면 자동으로 재시작을 하겠다 라는 의미
html_file.html
파일 생성 후 코드 작성<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>HTML</title> </head> <body> <h1>Happy Hacking!</h1> <p>즐겁게 코딩합시다 :D</p> <p>야호 신난다!!</p> </body> </html>
터미널에서
flask run
또는python app.py
실행하면 아래와 같은 결과를 볼 수 있다.
[8] 변수 받아서 파일 실행
app.py 코드 작성
from flask import Flask, render_template app = Flask(__name__) @app.route('/hi/<string:name>') def hi(name): return render_template('/hi.html', name=name) # app.py 파일이 'python app.py'로 시작되었을 때 서버를 시작하겠다 라는 의미. if __name__ == '__main__': app.run(debug=True) # 서버가 실행이 되어있는동안 수정이 되면 자동으로 재시작을 하겠다 라는 의미
hi.html
파일 생성 후 코드 작성<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>HI</title> </head> <body> <h1>HI page</h1> <p>님 안녕하세요.</p> </body> </html>
터미널에서
flask run
또는python app.py
실행하면 아래와 같은 결과를 볼 수 있다.
[9] 변수 받아서 계산 후 파일 실행
app.py 코드 작성
from flask import Flask, render_template app = Flask(__name__) @app.route('/cube_new/<int:number>') def cube_new(number): # 계산 result = number ** 3 return render_template('/cube_new.html', result=result, number=number) # app.py 파일이 'python app.py'로 시작되었을 때 서버를 시작하겠다 라는 의미. if __name__ == '__main__': app.run(debug=True) # 서버가 실행이 되어있는동안 수정이 되면 자동으로 재시작을 하겠다 라는 의미
cube_new.html
파일 생성 후 코드 작성<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>cube_new</title> </head> <body> <h1>Cube Page</h1> <p>의 3제곱은 입니다.</p> </body> </html>
터미널에서
flask run
또는python app.py
실행하면 아래와 같은 결과를 볼 수 있다.
References
개발자님들 덕분에 많이 배울 수 있었습니다. 감사의 말씀 드립니다.