일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Blog
- 알고리즘
- Exercism
- 북마크앱
- Django Blog
- Bookmark
- 개발
- Node.js
- 북마크만들기
- join()
- MyPick31
- Django
- 장고 개발 순서
- 예술영화추천
- ART_Cinema
- 타사인증
- 장고 프로젝트 순서
- mongodb
- til
- 장고
- python
- 파이썬 웹프로그래밍 장고
- JavaScript
- Algorithm
- 자바스크립트
- 프로젝트
- MYSQL
- 장고 프로젝트
- 독립영화플랫폼
- passport.js
- Today
- Total
Juni_Dev_log
"ART_Cinema Project" ⑲200614_TIL 본문
오늘의 영화 : '베이비 드라이버, 에드가 라이트'
오늘 한 일 (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 |