본문 바로가기

Python/실습

[Django 유튜브 동영상 업로드 서비스] 나의 첫번째 DjangoTube 프로젝트(계속 업데이트 중...2020/04/28)

home 화면

실습 Github 주소

https://github.com/JisunParkRea/my_djangotube

 

JisunParkRea/my_djangotube

Simple video service which can upload youtube videos using django - JisunParkRea/my_djangotube

github.com

Heroku 배포 주소 -> http://djangotube.herokuapp.com/video/


수정한 부분

- 나의 첫번째 장고튜브 프로젝트[참고] 기반으로 계속 수정중

- templates 파일들 첫문장인 {% load staticfiles %} 삭제

- reverse()를 삭제하고 redirect()만 사용

- urls 설정에 레거시한 표현방법 수정

  예) r'^new$'  => 'new/'

 

추가한 부분

- forms 추가

- video 삭제 view 추가
- 동영상 로드 지연시 로딩중입니다 메세지 띄우기

- 회원가입, 로그인, 로그아웃 기능 구현

- 해당 video를 올린 user만이 video를 삭제가능하도록 제한

- ajax를 이용한 비동기적 좋아요 버튼(새로고침 없이 좋아요 개수 count)

- my video, 좋아요를 누른 video를 모아볼 수 있는 my page 탭

- PostgreSQL 연동

- Video model에 category field 추가/category별로 video를 볼 수 있음

- category별로 볼 수 있는 페이지의 video는 좋아요를 많이 받은 순으로 정렬해서 보여주기

- Unit test 코드 작성

- Heroku 배포

 

배운 점

- youtube 동영상을 고유 키를 이용해서 업로드하는 방법

  예: https://www.youtube.com/watch?v=F9SZ3Mi3qm0&list=PL9-GGkJHUYNdPbDFbcTNk5wcFEJ9MeR3C

- Youtube Player을 부르는 API 사용 방법

<script>
    var tag = document.createElement('script');

    tag.src = "https://www.youtube.com/iframe_api";
    var firstScriptTag = document.getElementsByTagName('script')[0];
    firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

    var player;
    function onYouTubeIframeAPIReady() {
        player = new YT.Player('player', {
            videoId: '{{ video.video_key }}'
        });
    }
</script>

- ajax 비동기적 통신

- PostgreSQL 연동