일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 파이썬
- 도커
- 장고
- 플라스크
- Django
- mlops
- 개발자
- 기초강의
- 쇼핑몰예제
- 개발자취업
- c++
- c
- 인공지능
- 파이썬 장고
- 프로그래밍
- 예제프로젝트
- airflow
- 에어플로우 기초강의
- 장고 기초 강의
- 파이썬강의
- cpp
- 개발언어
- flask
- 장고 튜토리얼
- 웹개발
- C언어
- 도커 컴포즈
- docker
- Python
- ADP
- Today
- Total
TITEDIOS 편한 코딩
Flask로 웹개발: #6 DB - 제품 정보 입력 본문
안녕하세요! 이번 포스팅에서는 데이터베이스를 설정하고 제품 정보를 입력하는 방법에 대해 설명드리겠습니다. 이 포스팅에서는 SQLite를 사용하여 데이터베이스를 설정하고 SQLAlchemy를 통해 데이터를 관리하는 방법을 다루겠습니다. SQLAlchemy를 설치하고 이를 통해서 데이터를 SQLite 데이터베이스에 입력하는 방법에 대해 설명할 것입니다.
1 .SQLAlchemy 및 데이터베이스 설정
우선 필요한 패키지를 설치해야 합니다. 터미널에서 다음 명령어를 실행하세요. anaconda 가상환경에서 SQLAlchemy를 설치하는 명령어입니다.
conda install conda-forge::flask-sqlalchemy
2. SQLAlchemy 설정
app.py 파일에서 Flask와 SQLAlchemy를 설정합니다. Flask에서 실행하는 app.py에 처음으로 저희 코드를 작성해 보는 것 같습니다. 좀 두근두근 하지 않으신가요? ㅎㅎㅎ
from flask import Flask, render_template, request, redirect, url_for, session
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.secret_key = 'flasksecretkey' # app의 비밀키로 여러분이 임의로 설정하셔도 됩니다.
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///products.db' # SQLAlchemy 설정
db = SQLAlchemy(app) # 데이터베이스 연결
"""
우리의 제품은 이름, 가격, 상세 정보로 구성된 간단한 형식을 가지고 있습니다.
이 형식에 맞게 데이터베이스를 구성하고 정보를 불러오기 위해 app에서 model을 정의합니다.
물론 다른 파일로 작성하고 import 하는 방법도 있습니다.
"""
# 모델을 정의하기 위해 models.py를 가져옵니다.
from models import Product
class Product(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), nullable=False)
price = db.Column(db.Float, nullable=False)
description = db.Column(db.String(200), nullable=False)
@app.route('/')
def hello_world():
return 'Hello, World!'
if __name__ == '__main__':
app.run(debug=True)
3. 데이터베이스에 제품 정보 입력
그럼 이제 실제로 우리가 쇼핑몰에서 판매하려는 제품의 정보를 데이터베이스에 입력해 보도록 하겠습니다. 앞서 생성한 create-product.py 파일을 작성하여 데이터베이스에 제품 정보를 입력합니다.
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from app import Product
# create the extension
db = SQLAlchemy()
# create the app
app = Flask(__name__)
# configure the SQLite database, relative to the app instance folder
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///products.db"
# initialize the app with the extension
db.init_app(app)
# Example products
products = [
Product(name='Product 1', price=10.0, description='Description for product 1'),
Product(name='Product 2', price=20.0, description='Description for product 2'),
Product(name='Product 3', price=30.0, description='Description for product 3')
]
with app.app_context():
db.create_all()
db.session.add_all(products)
db.session.commit()
여기에서는 'Product 1', 'Product 2' 그리고 'Product 3' 총 3가지의 제품을 데이터베이스에 입력하는 코드를 작성하였습니다. 이제 create-python을 실행시켜 데이터베이스에 제품 정보를 입력하시면 됩니다.
python create-python.py
이후 파일 구조에서 아래 파일 구조가 확인된다면 데이터베이스가 잘 생성된 것입니다.
flask_ecommerce
├── ...
├── instance
│ ├── products.db
├── ...
결론
이번 포스팅에서는 데이터베이스에 기본적인 제품 정보를 입력하는 방법에 대해 알아보았습니다. 오늘 입력한 제품 정보를 기반으로 다음 포스팅에서 개발하게 될 실제 쇼핑몰 페이지에 제품 정보를 출력할 것입니다. 지금은 3 가지의 제품 정보가 입력되어 있지만 여러분이 추가적으로 여러분의 제품을 추가해 보는 것도 프로그래밍의 재미가 될 것입니다.
감사합니다.
'Flask 웹 서버 만들기' 카테고리의 다른 글
Flask로 웹개발: #8 미니 쇼핑몰 배포 - 배포 및 테스트 (0) | 2024.07.25 |
---|---|
Flask로 웹개발: #7 구현 - 기능 개발 (1) | 2024.07.24 |
Flask로 웹개발: #5 레이아웃(2) - index와 product (1) | 2024.07.22 |
Flask로 웹개발: #4 레이아웃(1) - base 와 css (0) | 2024.07.19 |
Flask로 웹개발: #3 개발 환경 구축 - Flask 설치 (0) | 2024.07.18 |