미소를뿌리는감자의 코딩

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

강의수강/[웹개발종합반]

[항해99 웹개발종합반] 4주차

미뿌감 2024. 1. 11. 11:56
728x90

이번 주차는 기존에 봐왔던 영상들의 절반의 양이어서 빠르게 끝났다.

 

@app.route("/iloveyou/<name>")
def iloveyou(name):
    motto = f"{name}야 난 너 뿐이야!"
    context = {
        'name': name,
        'motto': motto,
    }

    return render_template('motto.html', data=context)

 

이런식으로 route 에, <name>으로 받게 되면 그것을 변수처럼 사용할 수 있다.


DB 의 목적: "잘 정리정돈 하기 위해"

DB의 프로그램: RDBMS

크게 2가지 종류로 나누어서 설명할 수 있다.

 

1) SQL

excel처럼 데이터 저장

modify하기가 어렵다

example: SQLite, MS-SQL, My-SQL

 

2) NoSQL

딕셔너리 같이 저장하며

modify하기가 비교적 용이하다.

 

SQLite는 ORM, python으로 데이터베이스를 다루는 방법을 이용할 수 있다.

 


app.py -> DB에서 app.py가 기본 골격에 대한 정보를 가지고 있으며, 

terminal에서 다음과 같은 명령어로, DB에 데이터를 넣을 수 있다.

flask shell
from app import db, Song
db.create_all()

 

또한 값에 대한 정보를 db로 부터 받아와서 변수처럼 사용할 수 있으며,

db를 modify할 수도 있다.

터미널에서 어떤 명령어들로 실행할 수 있는지 알아볼 것이다.

 

#-------- 데이터 --------
song = Song(username="추천자", title="노래제목", 
            artist="가수", image_url="이미지 주소")

#-------- DB에 업로드 ----
db.session.add(song)

#-------- DB에 저장 ------
db.session.commit()

 

#----- 데이터 조회 ----------------------
Song.query.all()

#------ 리스트 데이터 들고오기 -------------
song_list = Song.query.all()
song_list[0]
song_list[0].title
song_list[0].artist

#----- 특정 조건으로 데이터 들고오기 -> username이 추천자인 경우 다 들고오기
Song.query.filter_by(username = '추천자').all()

#---- 하나만 데이터 들고오기 ----------------
Song.query.filter_by(id = 3).first()

#---- 데이터 바꾸기 -----------------------
song_data = Song.query.filter_by(id = 4).first()
song_data.title = '변경된 제목'
db.session.add(song_data)
db.session.commit()

#---- 데이터 지우기 -> 3번 데이터를 지움 -------
delete_data = Song.query.filter_by(id = 3).first()
db.session.delete(delete_data)
db.session.commit()

 

이런식으로, db를 다루는 문법도 알아보았다.

 

맹맹맹

728x90