본문 바로가기

Til

Til 24.04.05 조별과제 넷플모봄게시판 만들기(Flask-Migrate(db컬럼ㅈ추가시), api 연결 시도)


데이터베이스 마이그레이션 - 데이터를 추가했다면 업뎃하슈


데이터베이스 마이그레이션

: Flask-Migrate를 사용해 데이터베이스 마이그레이션을 생성하고 적용함

이 과정은 모델의 변경사항을 데이터베이스 스키마에 반영

->이미 제목, 내용 , 작성자 컬럼이 있는데 좋아요 컬럼을 추가할때
 

먼저 마이그레이션 환경을 초기화함( (이미 했다면 생략 가능 )
flask db init

 

변경사항에 대한 마이그레이션을 생성 - > 이전에 했다면 생략가능
flask db migrate -m "Add likes column"

->likes - 좋아요몇개 눌렀는지를 저장하는 데이터베이스


생성된 마이그레이션을 데이터베이스에 적용

flask db upgrade


데이터베이스 스키마 직접 수정: SQLite 같은 경우, DB 브라우저를 사용해서 직접 post 테이블에 likes 열을 추가할 수도 있음

->> 이 방법은 권장하지 않으며, 가능하면 마이그레이션을 통해 스키마 변경사항을 관리하는 것이 좋음
데이터베이스 파일 재생성: 개발 초기 단계에서 데이터 손실이 문제가 되지 않는다면, 데이터베이스 파일을 삭제하고 앱을 다시 실행하여 새로운 스키마로 데이터베이스 파일을 생성할 수 있음. 이 방법은 빠르지만, 기존 데이터가 모두 소실되므로 주의해야 함


==============

영화 top10 순위에 

api 를 연결하려 했으나 실패하였음 - 도데체 이유가 뭔지 알수가 없다

 

 

넷플은 공식적으로 api를 제공하지 않는다고 한다

 

그래서 굳이 넷플이 아니여도 되니까 

 

https://www.themoviedb.org/ -TMDB 라는 더 무비데이터베이스 라는 사이트

 

여기 가입해서 api받아서 타이틀만 따오려고 했는데 실패했지만 

 

일단 코드를 남겨둬야지....

 

import requests

def fetch_tmdb_top_10():
    headers = {
        "accept": "application/json",
        "Authorization": "고유코드입력하슈~~~~~~"
    }

    response = requests.get(url, headers=headers)
    data = response.json()

    top_10_movies = data['results'][:10]  # 상위 10개의 영화 데이터를 추출
    return top_10_movies

top_10_movies = fetch_tmdb_top_10()

# 순위와 함께 영화 제목 출력
for idx, movie in enumerate(top_10_movies, start=1):
    print(f"{idx}위: {movie['title']}")

 

 

플라스크  뷰함수

 


@app.route('/')
def top():
    top_rated_movies = fetch_tmdb_top_10()  # 영화 데이터 가져오기
    return render_template('movies.html', movies=top_rated_movies)

 

연결된 html

 <!-- 영화 TOP 10 리스트 -->
<div class="card">
  <div class="card-header">영화 순위 TOP 10</div>
  <ul class="list-group list-group-flush">
    {% for movie in top_rated_movies %}
    <li class="list-group-item">
     
      <a href="https://www.themoviedb.org/movie" target="_blank">{{ loop.index }}위: {{ movie.title }}</a>
    </li>
    {% endfor %}
  </ul>
</div>

 

==>결국 시간내에 끝내지 못해서 하이퍼링크로 대체함

 

순위 top10을 수동으로 하이퍼링크 달앗다 ㅠ

 

 

리드미 파일 

넷플 뭐봄? - 넷플릭스 콘텐츠 추천, 리뷰 플랫폼

넷플 뭐봄?은 넷플릭스에서 시청할 수 있는 콘텐츠를 사용자가 추천하고 리뷰할 수 있는 플랫폼입니다. 사용자들은 게시글을 통해 넷플릭스 콘텐츠에 대한 리뷰를 공유하고 댓글로 의견을 나눌 수 있습니다.

13조 일찍끝내조

개발 기간

  • 24.04.01 ~ 24.04.05 (5일)

역할 분담

  • 조장 : 프론트엔드, 백엔드 - 게시글 작성, 조회, 수정, 삭제
  • 팀원1 : 백엔드 - 영화/드라마 카테고리 분류 기능, 좋아요 기능, 페이지 기능
  • 팀원2 : 프론트엔드
  • 팀원3 : 백엔드 - 댓글 작성, 조회, (수정), 삭제 + 구현영상 녹화 , 발표

개발 환경

  • 백엔드: Python (Flask)
  • 프론트엔드: HTML, CSS, JavaScript
  • DB: SQLite

주요 기능

게시글 CRUD

  • 게시글 작성, 조회, 수정, 삭제

댓글 CRUD

  • 댓글 작성, 조회, (수정), 삭제

게시글 관련 추가 기능

  • 좋아요 기능
  • 영화, 드라마 카테고리 분류 기능
  • 게시글 목록 페이지

##TMI

  • 댓글 수정 - 성공했으나 깃을 합치는 과정에서 오류발생 (시간이더있었으면 구현가능)
  • 이미지 업로드기능 시도
  • API로 영화순위 연결시도

 

개인적으로 힘들었던점 : 개발도 당연히 힘들었지만 git push로 코드를 혹시나~!!??! 날릴까봐 각자 맡은데서 진행하다가 합치는데 누락되는것도 많고 순서도 엉켜서 몇번을 다시했는지 모르겠음