- Today
- Total
Recent Posts
Recent Comments
Archives
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- selenium
- 파이썬
- c언어
- 자료구조 강의
- 대학시험
- 알고리즘 강의
- 크롤링
- 면접 파이썬
- 자료구조
- 셀레니움
- 파이썬 알고리즘
- python data structure
- 코딩문제
- gdrive
- 파이썬 입문
- 파이썬활용
- 파이썬 강의
- 중간시험
- 채용문제
- 알고리즘 강좌
- python 중간고사
- 기말시험
- 파이썬 자료구조
- 쉬운 파이썬
- 코딩시험
- 파이썬3
- 파이썬 강좌
- Crawling
- 프로그래밍
- 알고리즘
Notice
반원 블로그
Flask 자료 정리 01 - 앱 생성과 라우트 테스트 본문
플라스크란
- WSGI 애플리케이션을 위한 가볍고 강력한 프레임 워크(마이크로 프레임 워크).
- 간편하고 빠르게 개발할 수 있다.
필수 준비환경
- 파이썬
- 플라스크 : pip install flask
예제 01/01.py - 문자열 띄우기
from flask import Flask
app = Flask(__name__) #Flask 객체 인스턴스 생성
#라우트 작업
@app.route('/')
def hello():
return "Hello World"
if __name__=="__main__":
app.run()
"""설명
1 : FLASK 클래스를 참조(가져오기)
3 : FLASK 인스턴스 생성. 첫번째 인자는 __name__으로 입력
__name__은 현재 모듈(파이썬파일) 이름으로 정해지는데,
서버를 담당하는 파일이 시작점(메인)일 경우에 __main__으로 변경되니 이점을 해결한 것이다.
6 : 데코레이터를 이용한 라우트 사용
라우트를 활용한 url 정의는 보안적으로도 좋다.
예전에는 url에 해당 html의 파일경로가 노출되었는데, 라우트는 이를 숨겨준다.
7 : 6 라우트의 View 함수에 해당된다.
View 함수는 데코레이터 바로 아래 있어야 한다.
"""
플라스크 프레임워크 작동 과정
라우팅이란?
- 복잡한 URL과 URI를 쉽게 처리하도록 하는 기능
- 플라스크에서는 route() 데코레이터(@) 를 사용
웹 실습시 주의사항
- 2개의 서버를 돌리면 안된다.
- 새롭게 실습 파일 만들었을 때는 반드시 이전 서버는 종료
예제 01/02.py - 라우트(route)추가하기
from flask import Flask
app = Flask(__name__) #Flask 객체 인스턴스 생성
#라우트 작업
@app.route('/')
def hello():
return "Hello World"
@app.route('/flask/')
def flask():
return "Hello flask"
if __name__=="__main__":
app.run()
"""설명
10 : 라우트 패턴은 반드시 /로 시작해서 /로 끝나야 한다.
없으면 시스템 파일로 인식한다 ex) /robots.txt
"""
예제 01/03.py - 라우트 매개변수 전달(문자열)
from flask import Flask
app = Flask(__name__) #Flask 객체 인스턴스 생성
#라우트 작업
@app.route('/')
def hello():
return "Hello World"
@app.route('/flask/')
def flask():
return "Hello flask"
@app.route('/user/<userName>')
def get_userName(userName):
return "Hello "+ userName
if __name__=="__main__":
app.run()
"""설명
14 : 입력인자는 <매개변수>로 받을 수 있다.
이 때 View함수 매개변수명과 같아야 한다.
"""
예제 01/04.py - 문자열 이외 데이터 전달시
from flask import Flask
app = Flask(__name__) #Flask 객체 인스턴스 생성
#라우트 작업
@app.route('/')
def hello():
return "Hello World"
@app.route('/flask/')
def flask():
return "Hello flask"
@app.route('/user/<userName>')
def get_userName(userName):
return "Hello "+ userName
@app.route('/userid/<int:userId>')
def get_userId(userId):
return "user ID : {}".format(userId)
if __name__=="__main__":
app.run()
"""설명
18 : 문자열 이외의 타입을 받을 때는 <타입:매개변수명> 으로 적는다.
실수는 <float:매개변수> 정수는 <int:매개변수>
"""
01/05.py - 응답데이터 간단하게 꾸미기
- html 형식으로 return을 넣을 경우
from flask import Flask
app = Flask(__name__) #Flask 객체 인스턴스 생성
#라우트 작업
@app.route('/')
def hello():
return "<h1>Hello World</h1>"
@app.route('/flask/')
def flask():
return "<h3>Hello flask</h3>"
@app.route('/user/<userName>')
def get_userName(userName):
return "Hello "+ userName
@app.route('/userid/<int:userId>')
def get_userId(userId):
return "user ID : {}".format(userId)
if __name__=="__main__":
app.run()
"""설명
8, 12 : html에서 h태그는 제목, 머리말 등을 표현해주는 대표적인 태그다.
h1~h6까지 존재한다.
"""
'2018~ > Flask 자료 정리' 카테고리의 다른 글
Flask 자료 정리 05 - 부트스트랩 이용한 JinJa2 템플릿 (0) | 2019.10.17 |
---|---|
Flask 자료 정리 04 - JinJa2 템플릿 엔진 (0) | 2019.10.15 |
Flask 자료 정리 03 - 웹 프로그래밍 통신 개요 (0) | 2019.10.13 |
Flask 자료 정리 02 - 템플릿 (0) | 2019.10.12 |
Flask 자료 정리 06 - JinJa2의 파일 렌더링 Enviroment와 FileSystemLoader (0) | 2019.10.12 |
플라스크(Flask) 정적 파일 위치 변경 static_url_path, static_folder (0) | 2019.09.26 |
Comments