ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Django 를 이용한 영화 정보 사이트
    Project 2019. 7. 23. 14:12

    main page

     

    주제: 영화 API를 이용해 영화 정보를 제공해주는 사이트 만들기

    2인 프로젝트

    날짜: 2019.05.03 ~ 2019.05.16

     

    Django ?

    파이썬으로 만들어진 오픈소스 웹 어플리케이션 프레임워크이다. 즉 웹 만드는 도구라고 볼수 있다. 이것을 이용하면 쉽고 빠르게 웹을 만들 수 있다. 

    참고로 이걸 쓰는 가장 큰 이유는 최근에 Django를 배웠기 때문이다.

     

    구현 기능

    영화 검색 기능

    단어를 검색하여 그 단어가 영화 제목에 들어가는 영화들을 검색 결과로 보여준다.

    영화 제목으로만 검색이 되거나 한글로만 검색이 되는 부족한점이 있다. 나중에 시간이 된다면 기능을 더 풍부하게 만들어보고 싶다.

     

    만약 검색 결과가 없을 경우 결과가 없다고 화면에 보여진다.

     

    영화 추천 기능

    영화 상세페이지에 들어가면 해당 영화와 관련있는 영화를 추천해 준다.

    영화 추천을 알고리즘이나 머신러닝을 이용하여 만들어보고 싶었지만 아직은 무리다..ㅜㅜ 그래서 우선은 영화 추천 api를 그냥 가져다가 사용해 봤다.

    The movie DB의 get Recommendations을 이용했다.

     

    오늘의 유명인 추천 기능

    하루에 1번씩 변경되는 영화 배우들의 이미지를 보여주고 해당 배우의 출연작을 통해 그 영화에 대한 상세 페이지로 이동할 수 있다.

    영화 추천 사이트에 기능을 더 추가하고 싶었지만 마땅히 어떠한 기능을 추가해야 좋을지 모르겠다. 그래서 매일 임의의 영화배우를 알려주는 api를 이용해 유명 영화 배우를 보여주는 기능을 구현했다.

     

    사용된 tags

    truncatechars

    긴 글을 ... 으로 줄이기

    {{ value|truncatechars:7 }}

    If value is "Joel is a slug", the output will be "Joel i...".

    부트스트랩인 카드를 사용할 때 특정 카드에 글자가 너무 길면 전체적인 카드 배열이 틀어지는 경우가 발생했다. 그래서 글자의 길이를 임의로 줄여주기 위해서 truncatechars를 사용했다.

    이것을 사용하면 "안녕하세요" 를 "안녕..." 로 만들 수 있다.

     

    Paginaion

    Django 공식 홈페이지에서 pagination에 관한 글을 읽고 구현 하였다.

    디자인적으로 부족한것 같아 아쉬움이 남았다.

     

    에러 및 주의 사항

    실제 웹을 만들면서 발생했던 에러나 문제

    api키를 저장할때

    C9을 이용하여 프로젝트를 만들었는데 The movie DB의 API를 사용할때 키를 사용자가 알 수 없게 숨겨두는게 좋은데 api 키가 bashrc에 저장이 않 될 수도 있다.

    KEY를 저장할때 마지막에 해줘야 한다.

    $ exec "$SHELL"

    KEY가 제대로 들어갔는지 확인해 보자.

    $ echo $KEY

     

    django multiple object returned

    DB에 같은 데이터가 중복되어 들어가 있어서 에러가 발생했었다. 이를 해결하기 위해서 DB를 전부 날려버리고 다시 입력을 넣어 줬더니 정상으로 작동을 하게 되었다.

    나중엔 이 에러가 생기면 DB부터 확인해봐야겠다.

     

     

     

     

     


     

    Github: https://github.com/Lagom92/Todal_movie

     

    Lagom92/Todal_movie

    190516_1학기 last project_영화 추천 사이트 만들기. Contribute to Lagom92/Todal_movie development by creating an account on GitHub.

    github.com

     

    Reference

    장고 홈페이지  - tag에 대한 정보나 pagination에 대한 방법 

    TMDb - The movie db로 영화와 관련된 api 사이트

     

    'Project' 카테고리의 다른 글

    [Django-Vue.js] 프로젝트 하하호호  (0) 2019.11.08

    댓글

© 2019 All rights reserved.