본문 바로가기

개발공부/스파르타코딩

[ 사전스터디 ] 웹개발 종합반 4주차

Flask

정의. 플라스크는 Python으로 작성된 마이크로 웹 프레임워크의 하나

 

설정.
1. app.py 파일 생성
   - touch app.py
2. 가상환경 생성 및 적용
   - python3 -m venv venv
   - source venv/bin/activate
3. flask 설치
   - pip install flask
4. templates 폴더 생성
   - mkdir templates
5. templates 아래에 index.html 파일 생성
   - cd templates
   - touch index.html

Flask 코드 설명 및 실행

Flask 시작 코드.
if __name__ == '__main__':
    app.run('0.0.0.0', port=5000, debug=True)
    
Post API 코드.
@app.route("/movie", methods=["POST"])
def movie_post():
    // logic
    
Get API 코드.
@app.route("/movie", methods=["GET"])
def movie_get():
    // logic

 

실행. python3 app.py

Meta 태그

정의. 웹 페이지에 대한 정보(제목, 이미지, 설명 등)를 제공하는 태그

 

예시 [daum 영화].
<meta property="og:author" content="다음영화">
<meta property="og:title" content="범죄도시3">
<meta property="og:image" content="https://t1.daumcdn.net/movie/b05fec37909f3c46d8ada73ba1d2bc2f8868e869">
<meta property="og:description" content="Daum영화에서 자세한 내용을 확인하세요!">

 

Python 코드.
URL = 'URL 경로'
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = requests.get(URL,headers=headers)
soup = BeautifulSoup(data.text, 'html.parser')

ogtitle = soup.select_one('meta[property="og:title"]')['content']
ogimage = soup.select_one('meta[property="og:image"]')['content']
ogdesc = soup.select_one('meta[property="og:description"]')['content']

좋았던 점

Flask 프레임워크를 통해 Front, Back End 모두 구현해 볼 수 있었다. 1~3주 차에 배웠던 내용들을 모두 적용해서 한 페이지 웹 사이트를 만들어 볼 수 있었다. 마지막으로 메타 데이터 활용하는 방법을 알 수 있어서 좋았다.