Notice
Recent Posts
Recent Comments
Link
«   2026/09   »
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
Tags more
Archives
Today
Total
관리 메뉴

동뀨의 story

4주차 개발일지 본문

프로그래밍/HTML&CSS&Javascript

4주차 개발일지

이동뀨 2023. 1. 1. 21:42

Flask 프레임 워크: 서버를 구동시켜주는 편한 코드 모음 . 서버를 구동하려면 필요한 복잡한 일들을 쉽게 가져다 쓸 수 있다. 프레임워크를 쓰지 않으면 태양초를 빻아서 고추장을 만든든 격이다!!!

프레임워크 = 3분요리

파일 이름은 아무렇게나 해도 상관없지만, 통상적으로 flask 서버를 돌리는 파일은 app.py라고 이름 짓습니다!

 

flask 시작 코드

from flask import Flask
app = Flask(__name__)

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

if __name__ == '__main__':  
   app.run('0.0.0.0',port=5000,debug=True)
  • Flask 기초: URL 나눠보기
    • @app.route('/) 부분을 수정해서 URL을 나눌 수 있습니다!
    •  url 별로 함수명이 같거나, route('/')내의 주소가 같으면 안돼~~~~
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)

1)Flask 기초: 기본 폴더 구조 - 항상 이렇게 세팅하고 시작한다!!!

프로젝트 폴더 안에, ㄴstatic 폴더 (이미지, css파일을 넣어둡니다)

                                 ㄴtemplates 폴더 (html파일을 넣어둡니다)

                                 ㄴapp.py 파일

(꼭 참고!! venv는 실제로는 보이지만, 안보인다~라고 생각하세요! 기억하시죠?)

 

templates: HTML 파일을 담아두고, 불러오는 역할을 하죠!

from flask import Flask, render_template
app = Flask(__name__)

## URL 별로 함수명이 같거나,
## route('/') 등의 주소가 같으면 안됩니다.

@app.route('/')
def home():
   return render_template('index.html')

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

리마인드! 은행의 창구 == API

클라이언트가 요청 할 때에도, "방식"이 존재

HTTP 라는 통신 규약을 따른다는 거 잊지 않으셨죠? 클라이언트는 요청할 때

HTTP request method(요청 메소드)를 통해,

어떤 요청 종류인지 응답하는 서버 쪽에 정보를 알려줌.

 

 * GET → 통상적으로! 데이터 조회(Read)를 요청할 때

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

 

* POST → 통상적으로! 데이터 생성(Create), 변경(Update), 삭제(Delete) 요청 할 때

예) 회원가입, 회원탈퇴, 비밀번호 수정 → 데이터 전달 : 바로 보이지 않는 HTML body에 key:value 형태로 전달

 

Jquery 임포트

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

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)
    }
  })

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)
    }
  })

'프로그래밍 > HTML&CSS&Javascript' 카테고리의 다른 글

5주차 개발일지  (0) 2023.01.05
3주차 개발일지  (0) 2022.12.26
2주차개발일지  (0) 2022.12.22
1주차개발일지  (0) 2022.12.16
Comments