미소를뿌리는감자의 코딩
[항해99 웹개발종합반] 4주차 본문
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
'강의수강 > [웹개발종합반]' 카테고리의 다른 글
[항해99 웹개발종합반] 팀플; 발표 (1) | 2024.01.15 |
---|---|
[항해99 웹개발종합반] 5주차 (0) | 2024.01.12 |
[항해99 웹개발종합반] 3주차 (1) | 2024.01.10 |
[항해99 웹개발종합반] 2주차 (0) | 2024.01.09 |
[항해99 웹개발종합반] 1주차 (1) | 2024.01.09 |