Programming/Python

Flask 웹사이트 구축 - 2. 개발방향과 데이터베이스(sqlite3)

juhpark 2022. 6. 21. 08:38

먼저 Flask 웹사이트 튜토리얼의 Flaskr를 따라서 만들고 그 기반으로 커스터마이징하는 방법으로 학습을 시작할 계획이다. Flaskr튜토리얼에는 데이터베이스로 sqlite3를 사용하였는데, 나중에는 MySQL로 연동하는 방법도 찾아봐야 겠다.

Flaskr웹사이트는 간단한 블로그(제목, 내용)를 관리할 수 있는 기능을 가지고 있다. 기본적인 로그인, 로그아웃, 제목과 내용을 입력하면 목록을 보여주는 비교적 간단한 웹어플리케이션이다.

 

튜토리얼 — Flask 0.11-dev documentation

© Copyright 2012, Armin Ronacher.

flask-docs-kr.readthedocs.io

 

1. 폴더 생성

먼저 TestNet폴더 아랫쪽에 static, templates폴더를 생성한다. static폴더에는 ico, css, js등과 같은 정적인 파일들을 넣을 예정이고, templates폴더에는 앞으로 만들 html 템플릿 파일을 넣기 위한 용도이다.

 

2. sqlite3 설치 및 데이터베이스 파일 생성

데이터베이스는 파일기반의 간단한 sqlite3을 사용하는데, sqlite3는 기본적으로 구름IDE에서 만들어진 컨테이너에는 존재하지 않는다. 그래서, 다음과 같은 명령어를 터미널에 입력하여 설치한다.

apt-get install sqlite3

 

그 다음 TestNet폴더에 schema.sql 파일을 만들고 다음과 같은 데이터저장소를 생성할수 있는 스크립트 파일을 생성한다. 여기서는 entries라는 테이블에 블로그 내용이 입력될 예정이다. 

drop table if exists entries;
create table entries (
  id integer primary key autoincrement,
  title string not null,
  text string not null
);

 

그 다음 /tmp/testnet.db 라는 이름으로 sqlite3 저장소를 다음과 같이 생성한다. 실행은 TestNet 폴더에서 바로 실행한다.

/usr/bin/sqlite3 /tmp/testnet.db < schema.sql

 

실행을 하고나면 다음과 같이 ls 명령으로 해당 db 파일이 생성되었는지 확인이 가능하다.