favicon

Jayden { do: smite }

220810(수)

🪴 성장일지

행복한 이기주의자(웨인 다이어)의 내용에 자극받아 시작하는 소박한 성장기록

살아있는 꽃과 죽은 꽃은 어떻게 구별하는가?<br/> 성장하고 있는 것이 살아 있는 것이다.<br/> 생명의 유일한 증거는 성장이다!

🌳 키워드

pythonFlask

파이썬 웹 프레임워크로, 서버를 구동하기 위해 필요한 여러 기능들을 제공<br/> flask 서버를 만들 때 보통 아래와 같은 폴더 구조를 가짐

project--.venv ㄴstatic ㄴtemplates ㄴapp.py
  • .venv : 가상환경 폴더
  • static : 이미지, css 등을 담아두는 폴더
  • templates : HTML 파일을 담아두고 불러오는 폴더
  • app.py : flask 서버 구동 파일

app.py의 가장 기본적인 코드

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 뒤에 ?(query)를 붙이고 그 뒤에 key=value 형태로 전달
  • ex) google.com?q=사막

POST

  • 통상적으로 데이터를 생성(Create), 변경(Update), 삭제(Delete) 요청 시
  • GET처럼 URL에 보이는 것이 아닌 HTML body에 key:value 형태로 전달

🌟클라이언트(Front)와 서버(Back)🌟

클라이언트 -> request(요청) -> 서버<br/> 서버 -> response(응답) -> 클라이언트

  • 클라이언트쪽 코드 구성

    1. 보내는 요청 종류
    2. 요청 종류에 따른 데이터
    3. 요청 성공 시 처리할 것
    $.ajax({ type: 'POST', // 1. 보내는 요청 종류 url: '/practice', data: { name_give: '어떤 데이터' }, // 2. 클라이언트쪽 데이터 ex) 로그인 시 아이디, 비밀번호 success: function (response) { // 3. 요청 성공 후 받은 응답으로 어떤 걸 할지 console.log(response); }, });
  • 서버쪽 코드 구성

    1. 요청 종류 구분
    2. 데이터를 어떻게 쏼라쏼라 할지
@app.route('/practice', methods=['POST']) # 1. 요청 종류 구분 def prac_post(): name_receive = request.form['name_give'] # 클라이언트에서 보낸 '어떤 데이터' print(name_receive) # 2. 여기서 이제 받은 데이터 및 DB 데이터로 쏼라쏼라 return jsonify({'result':'success', 'msg': '이 요청은 POST!'}) # 응답 보냄
undefined

Copyright 2023. all rights reserved by Jayden