스파르타 웹개발 수업 4주차

권민선·2022년 7월 7일

flask

플라스크를 배웠다. 항상 시작 전에 패키지를 다운 받아야 한다.
1. pymongo
2. bs4
3. dnspython
4. certifi
5. flask
6. requests

그리고 임포트 해준다.

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

from pymongo import MongoClient
import certifi

ca = certifi.where()

client = MongoClient('mongodb+srv://test:sparta@cluster0.ojxgz.mongodb.net/내DB명?retryWrites=true&w=majority', tlsCAFile=ca)
db = client.dbsparta

API를 POST 하는 방법

서버 방향

@app.route("/homework", methods=["POST"])
def homework_post():

A_receive = request.form['A_give']
B_receive = request.form['B_give']
클라이언트의 A와 B라는 값을 받아오기

doc ={ a = A_receive , b = B_receive }
db.서버폴더명.insert_one(doc)
A와 B의 값을 서버폴더에 doc이라는 자료로 입력하기

return jsonify({'D':'d'})
D라는 이름으로 d의 내용 돌려주기

클라이언트 방향

$.ajax({
 	  type: 'POST',
      url: '/homework',
      data: { 
        'A_give':A인풋박스 아이디, 
        'B_give':B인풋박스 아이디
      }})

A인풋박스에 들어온 값을 A_give로 주고 B인풋박스에 들어온 값을 B_give로 준다.

success: function (response) {alert(response["D"])}
function 성공 시 D의 값(msg)를 가져와 알림으로 띄운다.

window.location.reload()
브라우저를 새로고침한다.

API를 GET 하는 방법

서버 방향

@app.route("/homework", methods=["GET"])
def homework_get():
    return jsonify({'msg':'GET 연결 완료!'})

C_list = list(db.서버폴더명.find({}, {'_id': False}))
DB의 서버폴더에서 값을 전부 가져와서 C_list로 넣기
return jsonify({'X':C_list})
C_list를 X라는 이름으로 돌려주기

클라이언트 방향

$('#비울아이디').empty()
비울아이디의 내용을 지운다.

success: function (response) {
	let rows = response['X']
	for (let i = 0; i < rows.length; i++) {
	let name = rows[i]['a']
	let comment = rows[i]['b']

X라는 서버폴더 안에서 a=name b=comment으로 가져오기

	let temp_html = 
    `<div class="card">
   	 <div class="card-body">
   		 <blockquote class="blockquote mb-0">
             <p>${b}</p>
             <footer class="blockquote-footer">${a}
           	 </footer>
   		 </blockquote>
  	 </div>
     </div>

위에서 가져온 a와 b를 해당 html 안에 넣어 temp_html로 만든다.

$('#붙여넣어야하는부분의아이디').append(temp_html)}}
붙여 넣어야 하는 곳에 temp_html을 붙여 넣는다.

window.location.reload()
창 새로고침하기

profile
활자중독 디자이너 개발자

0개의 댓글