python -m venv .venv # 가상환경 생성
.venv\\scripts\\activate # 가상환경 접속
pip install flask # flask 라이브러리 설치
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'This is Home!'
if __name__ == '__main__':
app.run('0.0.0.0', port=5000, debug=True)
from flask import Flask, render_template
...
return render_template("index.html")
같은 루트 폴더 내의 templates 폴더에 html파일을 정확히 생성 후 입력
같은 루트 폴더 내의 static 폴더에 이미지, css 파일 저장
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
Index
<div>
<img src="{{ url_for('static', filename='yu.jpg') }}" alt="" />
</div>
</body>
</html>
flask 내에선 위와 같이 형식을 지켜서 static 파일 사용
@app.route('/post_form', methods=['POST'])
def post_form():
param1 = request.form.get('param1') # 폼 데이터에서 'param1' 가져오기
param2 = request.form.get('param2', default='default_value')
response_data = {
"param1": param1,
"param2": param2
}
return jsonify(response_data)
@app.route('/post_json', methods=['POST'])
def post_json():
data = request.json # JSON 데이터 전체를 가져옴
param1 = data.get('param1') # JSON에서 'param1' 가져오기
param2 = data.get('param2', 'default_value')
response_data = {
"param1": param1,
"param2": param2
}
return jsonify(response_data)
@app.route('/memo', methods=['POST'])
def saving():
# 1. 클라이언트로부터 데이터를 받기
url = request.form['url']
comment = request.form['comment']
# 2. meta tag를 스크래핑하기
article = get_article(url, comment)
# 3. mongoDB에 데이터 넣기
db.article.insert_one(article)
return jsonify({'result': 'success'}), 200