본문 바로가기
스파르타코딩클럽/웹개발 종합반

WIL 웹개발 종합반 4주차 개발일지

by heereal 2022. 10. 27.

Flask 기초: URL 나누기

from flask import Flask
app = Flask(__name__)

@app.route('/')
def home():
   return 'This is Home!'

@app.route('/mypage')
def mypage():  
   return 'This is My Page!'

if __name__ == '__main__':  
   app.run('0.0.0.0',port=5000,debug=True)

 

GET 방식, POST 방식

GET        →      데이터 조회(Read)를 요청할 때
                         예) 영화 목록 조회
               →     데이터 전달 : URL 뒤에 물음표를 붙여 key=value로 전달
                        예) google.com?q=북극곰

 

POST     →      데이터 생성(Create), 변경(Update), 삭제(Delete) 요청 할 때
                         예) 회원가입, 회원탈퇴, 비밀번호 수정
                →     데이터 전달 : 바로 보이지 않는 HTML body에 key:value 형태로 전달

 

 

POST 방식-서버 만들기(Flask)

@app.route("/mars", methods=["POST"])
def web_mars_post():
    name_receive = request.form['name_give']
    address_receive = request.form['address_give']
    size_receive = request.form['size_give']

    doc = {
        'name':name_receive,
        'address':address_receive,
        'size':size_receive
    }
    db.mars.insert_one(doc)

    return jsonify({'msg': '주문 완료!'})

 

POST 방식-클라이언트 만들기(Ajax)

function save_order() {
            let name = $('#name').val()
            let address = $('#address').val()
            let size = $('#size').val()

            $.ajax({
                type: 'POST',
                url: '/mars',
                data: { name_give: name, address_give: address, size_give: size },
                success: function (response) {
                    alert(response['msg'])
                    window.location.reload()
                }
            });
        }

 

GET 방식- 서버 만들기(Flask)

@app.route("/mars", methods=["GET"])
def web_mars_get():
    order_list = list(db.mars.find({}, {'_id': False}))
    return jsonify({'orders': order_list})

 

GET 방식- 클라이언트 만들기(Ajax)

function show_order() {
            $.ajax({
                type: 'GET',
                url: '/mars',
                data: {},
                success: function (response) {
                    let rows = response['orders']
                    for (let i = 0; i < rows.length; i++){
                        let name = rows[i]['name']
                        let address = rows[i]['address']
                        let size = rows[i]['size']
                        let temp_html = `<tr>
                                            <th scope="col">${name}</th>
                                            <th scope="col">${address}</th>
                                            <th scope="col">${size}</th>
                                          </tr>`
                        $('#order_box').append(temp_html)
                    }
                }
            });
        }

 

mata 태그 이용하여 영화 정보 크롤링하기

title = soup.select_one('meta[property="og:title"]')['content']
image = soup.select_one('meta[property="og:image"]')['content']
desc = soup.select_one('meta[property="og:description"]')['content']

print(title,image,desc)

댓글