[Flask] 2. DataBase 연동 ( SQLite3 )

DataBase 연동 ( SQLite3 )

참고 : https://pythonbasics.org/flask-sqlite/

 

아래의 게시물에서 실행한 기본 app에서 부터 시작합니다

 

[Flask] 1. 실행 및 HTML 렌더링

Flask 설치pip install flask폴더 구조app.pyapp = Flask(__name__)@app.route('/')def home(): return render_template('home.html') if __name__ == '__main__': app.run()home.html 안녕하세요 Flask 실행python app.py웹페이지 확인 CSS, JavaScript

bbangya22.tistory.com

 

아래의 파일을 다운로드 후 이어서 진행하시면 됩니다.

flask-test.zip
0.00MB


1) create_db.py 생성

import sqlite3

conn = sqlite3.connect('database.db')
print("Opened database successfully")

conn.execute(
    
    '''
    CREATE TABLE students (name TEXT, addr TEXT, city TEXT, pin TEXT)
    '''
    
    )
print("Table created successfully")

conn.close()

 

  • flask 가상환경 진입 후 터미널에서 실행
python create_db.py

 

[Result] database.db 생성 확인

 

SQLite에서 테이블 생성 확인

2) Data 입력 페이지

student.html
0.00MB

 

@app.route('/enternew')
def new_student():
   return render_template('student.html')

 

3) POST / GET

 
@app.route('/addrec',methods = ['POST', 'GET'])
def addrec():
   if request.method == 'POST':
      try:
         nm = request.form['nm']
         addr = request.form['add']
         city = request.form['city']
         pin = request.form['pin']
         
         with sql.connect("database.db") as con:
            cur = con.cursor()
            cur.execute(
               '''
               INSERT INTO students (name,addr,city,pin) VALUES (?,?,?,?)
               ''',(nm,addr,city,pin) )
            
            con.commit()
            msg = "Record successfully added"
      except:
         con.rollback()
         msg = "error in insert operation"
      
      finally:
         return render_template("result.html",msg = msg)
         con.close()

result.html
0.00MB

 

[result.html 화면]

 

Data 입력

 

Data 확인

입력한 데이터 DataBase에서 적재되었는지 확인

 

flask-test_db.zip
0.00MB

 

'Python > Flask' 카테고리의 다른 글

[Flask] 1. 실행 및 HTML 렌더링  (0) 2025.05.16
[Flask] 실행 및 디버그 모드  (0) 2025.05.07