[내일배움캠프] #211005 💻 TIL 💻

이수영·2021년 10월 5일
0

MY TIL 

목록 보기
13/50
post-thumbnail

타임어택 구현테스트 리뷰

내가 시간내에 구현하지 못했던 부분은 delete부분과 시간순대로 정렬하는 기능이였다.

delete API

html

function deleteArticle(idx) {
             $.ajax({
                    type: 'DELETE', //delete부분은 이렇게 구현하면 된다
                    url: '/post?idx='+idx, 
                    //get 과 같이 요청할 parameter을 보내주면된다.
                    success: function (response) {
                       if (response["result"] == "success")
                       {
                            alert("삭제 성공!");
                            // 성공 시 페이지 새로고침하기
                            window.location.reload();
                        }
                       else {
                            alert("서버 오류!");
                    }
                }});


        

app.py

@app.route('/post', methods=['DELETE'])
def delete_post():
	#클라이언트에서 보낸 정보를 받는다
    idx = request.args.get('idx')
    print(idx)
    #클라이언트가 요청한 idx 게시물을 삭제한다 
    db.test2.delete_one({'idx': int(idx)})

    return {"result":'success',"msg": "삭제되었습니다"}
    

포스트 최근 시간 순대로 정렬하기

나는 원래 자바스크립트에서 현재시간을 구해서 서버에 post할 때 같이 보내주었는데 튜터님은 파이썬에서 지금 시간을 쉽게 구하시고 포스팅을 나열할 때 형식에 맞게 클라이언트에게 보내주었다.

html

 function showArticles() {
            $.ajax({
                type: "GET",
                url: "/post",
                data: {},
                success: function (response) {
                    if (response["result"] == "success") {

                        let articles = response['articles'];

                        for (let i = 0; i < articles.length; i++) {
                            let idx=articles[i]['idx']
                            let title = articles[i]['title'];
                            let content = articles[i]['content']
                            let date = articles[i]['reg_date']





                            let temp_html = `<tr>
                                                  <th scope="col">${idx}</th>
                                                  <th scope="col">${title}</th>
                                                  <th scope="col">${date}</th>
                                                  <th scope="col"><button type="button" class="btn btn-primary" id="idx" onclick="deleteArticle(${idx})">삭제</button></th>
                                            </tr>`
                            $('#list-post').append(temp_html)
                        }
                    }
                }
            })


        }

app.py

파이썬의 strftime함수를 사용하면 현재 날짜와 시각을 원하는 형태로 가져올 수 있다.

@app.route('/post', methods=['GET'])
def get_post():
    #날짜 큰 순대로 정렬 (최근 날짜 순대로 정렬)
    articles = list(db.test2.find({}, {'_id': False}).sort([("reg_date", -1)]))
    for a in articles:
        print(a['reg_date'])
        a['reg_date'] = a['reg_date'].strftime('%Y.%m.%d %H:%M:%S')

    return {"result": "success","articles":articles}

2차 프로젝트 Release (10/5-10/19)

와이어프레임

와이어프레임은 팀원들의 의견을 들으면서 내가 직접 그려봤는데 코딩보다는 100배 재밌었다 .ㅎㅎ


내가 개발 해야할 것

프로젝트 release는 2주 후 지만 우리 팀은 일단 기간을 세분화해서 할 일을 정하기로 하였다.
2차 release까지 mildstone을 2개로 세분화해서 기능을 나누었다.
내가 맡은 부분은 2페이지에서 명소를 누르면 명소 주변 지도 api가 떠서 카테고리별로 주위 편의시설이 지도에 나오게 하는부분이였다.
일단 카카오가 아주 친절하게 코드를 준 덕분에 지도를 띄우는건 성공했으니 2페이지에서 명소를 클릭하면 그 명소 부근 지도가 보이게 해야하는 것이 나의 미션인 것 같다 .... ㅎㅎ
내일은 백신 맞기 전까지 열심히하고 불태워야겠군 !
뚜오밍아 이번 주도 화이팅 ~!!

profile
Hongik Univ 💻

0개의 댓글