Yeonn's 기록하며 성장하는 개발일지 :)

[스파르타코딩클럽]웹개발종합반 4주차 본문

개발일지/[스파르타코딩클럽] WEB

[스파르타코딩클럽]웹개발종합반 4주차

연재몬 2022. 2. 10. 17:58

 

4주차에서는 app.py(서버)index.html(클라이언트)두가지를 만들어봤다.

서버를 만들어서 POST를 통해 저장하고, 

GET을 통해 보여주는 것에 대해 배웠다.

memo  :)

Flask (프레임워크)

 

from flask import Flask
app = Flask(__name__)

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

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

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

@app.route('/') : 하나의 서버페이지 생성 !

 

Flask는 항상 templates, static 폴더를 만들어야함 

 

templates = html파일

static = img, CSS파일...등 

 

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

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

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

html파일을 templates안에 생성해서 app.py안에서 연결을 했다!

 

4주차 과제 (팬명록 기능 완성하기)

4주차과제는 get, post방식을 이용하여 글을 남겨서 아래에 보여주는기능을 만들어보았다. 

 

pymongo.errors.ServerSelectionTimeoutError: ~ [SSL: CERTIFICATE_VERIFY_FAILED]~

마지막에 계속 이 에러가 뜨면서 실행이 되지않았었는데,

certifi패키지를 가상환경에서 설치를 먼저 해주고

# -*- coding: utf-8 -*-
from flask import Flask, render_template, request, jsonify

app = Flask(__name__)

from pymongo import MongoClient
import certifi

ca = certifi.where()

client = MongoClient(
    'mongodb+srv://yeonjae:alswo135!@cluster0.xhdde.mongodb.net/myFirstDatabase?retryWrites=true&w=majority',
    tlsCAFile=ca)
db = client.dbsparta

위와같이

import certifi

ca = certifi.where( )

MongoClient 끝부분에 tlsCAFile=ca를 반드시 추가해주어야한다. 

이거때문에 몇시간을 고생했던것 같은데 해결해서 정말 다행이다.

 

어려웠지만 서버까지 전반적인 부분을 해보면서 재미도있고,

어떤식으로 데이터를 저장하고 보여주는것인지도 알게 된 것 같아 뿌듯하다☺️☺️