300x250
반응형
flask 임포트해서 웹앱 돌리기
from flask import Flask
# 앱 생성하고 이름 지정
app = Flask("SuperScrapper")
# 데코레이터로 루트 설정
@app.route("/")
def hello():
return 'hello hel'
@app.route("/contact")
def contact():
return 'contact me!'
# 앱 실행
app.run(host="127.0.0.1", port="5000")
-------------------------------------------------
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [18/May/2021 16:50:26] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [18/May/2021 16:50:30] "GET /contact HTTP/1.1" 200 -
127.0.0.1 - - [18/May/2021 16:50:38] "GET /ee HTTP/1.1" 404 -
app.run()과 같이 지정 안할수도 있음 (localhost:5000이 기본)
@app.route("/")의 @는 어노테이션이 아니라 데코레이터임 (어노테이션은 스프링에서 쓰는 것)
dynamic url (url로 파라메터 받기)
@app.route("/contact/<who>")
def contact():
return 'contact me!'
-------------------------------------------
TypeError: contact() got an unexpected keyword argument 'contact'
127.0.0.1 - - [18/May/2021 17:19:25] "GET /ee HTTP/1.1" 500 -
<who>로 파라메터 받았지만 contact()가 안받아줘서 500에러
contact(who)로 받아주면 아래처럼 동작
@app.route("/contact/<who>")
def contact(who):
return f'contact {who}!'
html 리턴
이렇게 쌩 스트링으로 줘도 동작은 함..
@app.route("/")
def home():
return "<h1>Job Search</h1>"
html 파일 따로 작성해서 render_template로 반환
(render_template 임포트 필요)
from flask import render_template
@app.route("/")
def home():
return render_template("searchHome.html")
이때 html 파일의 위치는 main.py와 같은 레벨에 있는 templates 폴더 아래에 둬야 한다
기본 템플릿 폴더를 변경하려면 아래처럼 app 정의할때 template_folder 설정
(templates 폴더가 아닌 tempate 폴더로 지정한 예시)
app = Flask("SuperScrapper", template_folder="template")
300x250
반응형
'IT > 파이썬' 카테고리의 다른 글
파이썬 가상환경 (0) | 2021.05.21 |
---|---|
파이썬 Flask (웹앱 만들기) 2 (0) | 2021.05.18 |
파이썬 클래스(Django) (0) | 2021.05.18 |
파이썬 패킹, 언패킹 (0) | 2021.05.17 |
파이참에서 모듈 추가하기 (0) | 2021.05.17 |