로운's 기술노트

[웹개발종합반] 4주차 본문

웹개발종합반_'21.08~09

[웹개발종합반] 4주차

로운's 2022. 1. 8. 12:57

통상적으로 서버를 돌리는 파일 이름을 'app.py'로 명명


prac > static  : css나 이미지파일을 담을 때 사용
       > templates  : html파일을 담을 때 사용


ㅁ flask 시작하기 (대표적인 2가지 방식 익히기)

1. get방식 : 데이터 조회를 요청할 때 사용
  ㅇ get요청 api코드
@app.route('/test', methods=['GET'])
def test_get():
   title_receive = request.args.get('title_give')
   print(title_receive)
   return jsonify({'result':'success', 'msg': '이 요청은 GET!'})

  ㅇ get요청확인 ajax코드(크롬 개발자도구)
$.ajax({
    type: "GET",
    url: "/test?title_give=봄날은간다",
    data: {},
    success: function(response){
       console.log(response)
    }
  })

2. post 방식 : 데이터를 생성/변경/삭제 시 사용
  ㅇ post요청 api코드
@app.route('/test', methods=['POST'])
def test_post():
   title_receive = request.form['title_give']
   print(title_receive)
   return jsonify({'result':'success', 'msg': '이 요청은 POST!'})

  ㅇ post요청확인 ajax코드(크롬 개발자도구)
$.ajax({
    type: "POST",
    url: "/test",
    data: { title_give:'봄날은간다' },
    success: function(response){
       console.log(response)
    }
  })

※ api와 ajax간의 title_give는 필히 동일해야 한다.


ㅇ 사전 설치패키지
  - flask
  - pymongo : mongodb에 저장
  - requests : 크롤링에 필요
  - bs4 : beautiful soup

ㅇ 모든 프로젝트 진행에 앞서 api설계가 가장 중요하다


ㅇ 브라우저(개발자도구)에서 보이는 것과 파이썬 코드가 접속했을 때의 meta태그의 순서가 다른 경우,
    BeautifulSoup을 진행했을 때, "None" 값이 리턴됨. 이 경우, 2번 방법을 사용.

  1) 개발자 도구 內, 필요한 값에 copy selector 진행
     ex. title = soup.select_one('meta[head > meta:nth-child(9)]')   

  2) 개발자 도구 內, 필요한 meta태그에 이어지는 속성 값만 가져오기(@에 치환)
     ex. title = soup.select_one('meta[@]')  

'웹개발종합반_'21.08~09' 카테고리의 다른 글

[웹개발종합반] 5주차  (0) 2022.01.10
[웹개발종합반] 3주차  (0) 2022.01.04
[웹개발종합반] 2주차  (0) 2022.01.03
[웹개발종합반] 1주차_2108  (0) 2021.09.29
Comments