zsh: command not found: python : 아래 순서로 터미널에 명령어 입력하여 해결which python3
// 결과로 나온 경로 복사
echo "alias python=위에 나온 경로 붙여넣기" >> ~/.zshrc
// 터미널 재실행 후 python 명령어 실행if 뒤에 괄호 사용하지 않음가상환경 : 파이썬 배포 패키지들을 설치하거나 업그레이드하는 것을 가능하게 하는 격리된 실행 환경 (프로젝트별 공구함)
command + shift + P) 실행env 검색 후 Python : Created Environment 찾아 클릭Venv 클릭(.venv) 폴더가 앞에 적혀있는지 확인.venv 폴더가 생성되었는지 확인('.venv': venv) 표시되는지 확인터미널에 아래 코드 입력
source .venv/Bin/activate
pip install requests import requests에러 :
ModuleNotFoundError: No module named 'requests'
아래 코드를 터미널에 다시 입력pip3 install --upgrade pip pip install requests
pip install flask




request.args.get() 사용 시, 받아온 값이 없는 경우아래와 같이 default_value를 설정하여 해결 가능
value = request.args.get('parameter_name', 'default_value')

<!-- 생략 -->
<body>
<!-- 생략 -->
<form id="dateForm" , action="{{ url_for('boxoffice') }}">
<input type="text" name="query" id="dateInput" required>
<button type="submit">검색</button>
</form>
<!-- 생략 -->
<script>
document.getElementById('dateForm').addEventListener('submit', function (event) {
var dateInput = document.getElementById('dateInput').value;
if (!isValidDate(dateInput)) {
event.preventDefault(); // Prevent form submission
alert('날짜를 8자리로 입력해 주세요. (예: 20230601)'); // Show alert message
}
});
function isValidDate(dateString) {
// Regular expression to match YYYYMMDD format
var regex = /^\d{4}(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01])$/;
return regex.test(dateString);
}
</script>
</body>
</html>
img 태그의 src에 Flask 서버에서 가져온 데이터를 넣을 때<img src="{{ image_path }}" alt="">

.venv)을 설치한다.flask를 설치한다.pip install flask원하는 라이브러리 확인은 아래 방법으로 함pip listVS Code Extension에서 SQLite3 Editor 설치

폴더에 database.db 파일 생성
파일 위에서 우클릭 > 연결 프로그램
'*.db'에 대한 기본 편집기 구성 클릭
SQLite3 Editor 클릭
설치 완료되었는지 확인

database.db 파일 삭제
가상 환경 설치
가상 환경에 Flask-SQLAlchemy 패키지 설치
pip install Flask-SQLAlchemy
폴더 및 파일 생성

app.py에 Flask와 Database 연결 코드 작성
from flask import Flask
import os
from flask_sqlalchemy import SQLAlchemy
basedir = os.path.abspath(os.path.dirname(__file__))
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] =\
'sqlite:///' + os.path.join(basedir, 'database.db')
db = SQLAlchemy(app)
app.py에 데이터베이스 모델 정의 (설계도 만들기)
class Song(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String, nullable=False)
artist = db.Column(db.String, nullable=False)
title = db.Column(db.String, nullable=False)
image_url = db.Column(db.String, nullable=False)
def __repr__(self):
return f'{self.artist} {self.title} 추천 by {self.username}'
with app.app_context():
db.create_all()
Database 만들기 (터미널에 입력) (Song은 예시)
flask shell
from app import db, Song
db.create_all()
터미널에
flask shell켜져있는지 확인하고 진행!
종료는exit()입력
Database에 데이터 저장하기 (터미널 입력)
song = Song(username="추천자", title="노래제목", artist="가수", image_url="이미지 주소") # 데이터 만들기
db.session.add(song) # DB에 업로드
db.session.commit() # DB에 저장
Database에 여러 데이터 저장하기
song1 = Song(username="추천자", title="노래제목1", artist="가수1", image_url="이미지 주소1")
song2 = Song(username="스파르타", title="노래제목2", artist="가수2", image_url="이미지 주소2")
song3 = Song(username="스파르타", title="노래제목3", artist="가수3", image_url="이미지 주소3")
db.session.add(song1)
db.session.add(song2)
db.session.add(song3)
db.session.commit()
데이터 조회하기
테이블명.query.all()
특정 조건으로 데이터 가져오기
# 조건에 맞는 데이터 모두 가져오기
테이블명.query.filter_by(조건).all()
# 조건에 맞는 데이터 1개만 가져오기
테이블명.query.filter_by(조건).first()
데이터 수정하기
변수명 = 테이블명.query.filter_by(조건).first()
변수명.컬럼명 = '변경할 내용'
db.session.add(변수명)
db.session.commit()
데이터 삭제하기
변수명 = 테이블명.query.filter_by(조건).first()
db.session.delete(변수명)
db.session.commit()