Juni_Dev_log

"ART_Cinema Project" ⑲200614_TIL 본문

Project/ART_Cinema(Dev)

"ART_Cinema Project" ⑲200614_TIL

Juni_K 2020. 6. 16. 14:10

오늘의 영화 :  '베이비 드라이버, 에드가 라이트'

'베이비 드라이버' 포스터

 


오늘 한 일 (To Do List)

▶그 동안 했었던 작업들 모두 병합하기 

: 이제까지 깃을 제대로 사용하지 않고, 일일이 병합을 하면서 진행했는데, 시간이 너무 많이 필요하고 코드를 작성하고나서 이후에 다시 들여다보면 자신이 바꾼 로직을 까먹는 경우도 발생해서, 본격적으로 깃을 활용해야할 것 같다. master 브랜치로 일단 어제까지 합친 것들을 커밋했고, 이제부터는 각자 브랜치를 파서 진행할 것이다.

 

"작업하기 전, 브랜치 파는 습관 들이기!"

 

▶ 최근 검색한 검색어를 입력한 제일 최신 순으로 Page5 에 보여주기

: 로그인을 한 유저가 있으면, 해당 유저의 닉네임과 검색한 검색어로 되어있는 데이터 셋을 생성한다.

 

(search_movie)

/* 40 */ 



    "_id" : ObjectId("5ee63a8108c608aa885060b6"), 

    "nickname" : "Hello!!", 

    "search_movie" : "룩 어웨이" 

}

 

닉네임을 기준으로 검색한 모든 것들을 서버로 부터 받아와서 {[ ]} 형태로 되어있는 데이터 구조에서 제일 최근 검색한 순으로 뽑아온다.

 

(flask_server)

@app.route('/lastest_searching_listing', methods=['GET'])
def lastest_searching_listing():
    nickname = request.args.get("nickname")
    print(nickname)
    # 닉네임이 존재한 경우
    if(len(nickname)!=0):
        search_db = list(db.search_movie.find({'nickname':nickname},{'_id':0}))
        print('최근 검색어 리스팅이 되었습니다.')
        return jsonify({'result':'success','list':search_db})
    #닉네임이 존재하지 않은 경우 (로그인을 하지 않고 검색한 경우)
    else:
        print('유저가 없습니다.')
        return jsonify({'result':'fail'})

 

로그인이 되어있다면, 'list' 의 값으로, search_db 데이터를 보내주고,

로그인이 되어있지 않다면, 'result' : 'fail' 을 통해서 실패했다는 것을 보내준다.

 

javascript 에서 이를 받아서 사용하는 함수를 만들어서, 로그인을 했다면 bring_search_list_html 함수를 통해서 html 에 뿌려준다.

로그인을 진행하지 않고 검색을 했다면, 로그인을 해달라는 alert 를 띄우고, 로그인을 진행하는 '/' 으로 이동하도록 구현했다.

 

function lastest_searching_listing() {
    $.ajax({
      type:"GET",
      url:"/lastest_searching_listing",
      data:{nickname:$('#customer_email').text()},
      success:function(response){
        console.log('최근 검색어 리스팅 성공!')
        // 로그인이 되어있을 때
        if(response['result']=='success'){
          search_list = response['list']
          console.log(search_list)
          // final_search_list = search_list.reverse()
          // console.log(final_search_list)
          search_list_bar = '최근 검색어'
          search_list_1 = search_list[0]['search_movie']
          search_list_2 = search_list[1]['search_movie']
          search_list_3 = search_list[2]['search_movie']
          search_list_4 = search_list[3]['search_movie']
          search_list_5 = search_list[4]['search_movie']
          search_list_6 = search_list[5]['search_movie']
          search_list_7 = search_list[6]['search_movie']
          search_list_8 = search_list[7]['search_movie']
          search_list_9 = search_list[8]['search_movie']
          search_list_10 = search_list[9]['search_movie']

          bring_search_list_html(search_list_bar, search_list_1, search_list_2, search_list_3, search_list_4, search_list_5, search_list_6, search_list_7, search_list_8, search_list_9, search_list_10)
        }
        // 로그인이 되어있지 않을 때
        else if(response['result']=='fail'){
          alert('로그인을 먼저 진행해주세요!')
        }
      }
    })
  }
  
  
  function bring_search_list_html(search_bar,search_list_1,search_list_2,search_list_3,search_list_4,search_list_5,search_list_6,search_list_7,search_list_8,search_list_9,search_list_10){
    $('#search_list_contents').remove()
    search_list_html = '<ul id="search_list_contents" style="padding-left:0px;margin-top:30px;">\
    <p><a id="rank_bar" style="font-weight:bold;font-size:20pt;">'+'<'+search_bar+'>'+'</a></p><br>\
    <p><a href="/page5?movie_title='+search_list_1+'" id="rank_first">'+search_list_1+'</a></p>\
    <p><a href="/page5?movie_title='+search_list_2+'" id="rank_second">'+search_list_2+'</a></p>\
    <p><a href="/page5?movie_title='+search_list_3+'" id="rank_third">'+search_list_3+'</a></p>\
    <p><a href="/page5?movie_title='+search_list_4+'" id="rank_fourth">'+search_list_4+'</a></p>\
    <p><a href="/page5?movie_title='+search_list_5+'" id="rank_fifth">'+search_list_5+'</a></p>\
    <p><a href="/page5?movie_title='+search_list_6+'" id="rank_fifth">'+search_list_6+'</a></p>\
    <p><a href="/page5?movie_title='+search_list_7+'" id="rank_fifth">'+search_list_7+'</a></p>\
    <p><a href="/page5?movie_title='+search_list_8+'" id="rank_fifth">'+search_list_8+'</a></p>\
    <p><a href="/page5?movie_title='+search_list_9+'" id="rank_fifth">'+search_list_9+'</a></p>\
    <p><a href="/page5?movie_title='+search_list_10+'" id="rank_fifth">'+search_list_10+'</a></p>\
    </ul>'

    $('.lastest_searching_movie').append(search_list_html);

  }

 

▶ Page3 / temp 에서 랜덤으로 나오는 영화들을 코멘트 작성할 수 있는 Page5로 갈 수 있는 버튼을 생성

: '코멘트 작성하기' 라는 버튼을 만들어서, Page5와의 매끄러운 연결을 노렸다..!

 


<기능 구현 동영상>

 

기능 구현 동영상

 

'Project > ART_Cinema(Dev)' 카테고리의 다른 글

'ART_Cinema' 프로젝트 완료  (0) 2020.07.26
"ART_Cinema Project" ⑳200623_TIL  (0) 2020.06.24
"ART_Cinema Project" ⑱200611_TIL  (0) 2020.06.11
"ART_Cinema Project" ⑰200610_TIL  (0) 2020.06.10
"ART_Cinema Project" ⑯200608_TIL  (0) 2020.06.08
Comments