본문 바로가기
개인 프로젝트/개인서버에서 도커로 웹서버 제작하기

2. Flask 웹서버 기초코드 작성 그리고 DB연동

by 우동이 2022. 10. 13.
300x250

 

웹서버는 Flask로 결정했고 DB는 MongoDB로 연동하기로 했습니다.

 

MongoDB의 소개와 연동 법에 대한 글은 따로 작성해뒀습니다.


VSCode에서 Flask웹서버에 MongoDB연동법

 

Visual Studio Code에서 Flask 웹서버에 MongoDB 연동하고 쿼리 저장하기(windows)

MongoDB 문서 지향적 비 관계형 데이터베이스(NoSQL DataBase) 기존의 RDBMS에 비해 가볍고 기존 SQL 쿼리 문의 단점을 보완해 데이터, 인공지능 분야에서 활용됨 유연한 서버구조로 개인 웹서버에 활용

hobbylists.tistory.com


 

플라스크의 기본 코드는 아래와 같고

개인 웹서버 코딩 시 이 틀에서 추가와 변경을 통해 구성됩니다.

 

#flask webserver basic code
from flask import Flask

app = Flask(__name__)

@app.route("/")
def index():
	return 'hello world'
    
if __name__ == "__main__":
	app.run()

 

그리고 2022-10-12자 커밋 사항으로 코드는 다음과 같습니다.

 

2022-10-12 커밋 사항

더보기

2022-10-12 커밋

app.py

from flask import Flask, render_template, request
from pymongo import MongoClient

app = Flask(__name__)
client=MongoClient("mongodb://localhost", 27017)
db=client.wooseongweb

@app.route("/")
def index():
	return render_template('index.html')

@app.route("/write", methods=["GET", "POST"])
def write():
    if request.method=="POST":
        name = request.form.get("name")
        title = request.form.get("title")
        contents = request.form.get("contents")
        

        inf ={
            "name":name,
            "title":title,
            "contents":contents
        }
        db.boaard.insert_one(inf)
        
        print(name, title, contents)
        
        return ""
    else:
        return render_template("write.html")

if __name__ == "__main__":
    app.run(debug=True)

flask 웹서버 코드에서 사용된 모듈은 Flask, render_template, request

pymongo가 있으며 mongodb와 연동된 상태입니다. -> app.py

또한 templates 파일로는 이름과 제목 내용을 입력받는 index.html 파일이 있습니다.

 

다음 진행 사항은 templates/index.html 파일을 개선해 DB에서 입력받을 값을 추가하고

templates 파일을 개선해 부트스트랩을 적용할 예정입니다.

 


 

 

github 주소

 

GitHub - wooseong-dev/WebServer_Flask: made in flask

made in flask . Contribute to wooseong-dev/WebServer_Flask development by creating an account on GitHub.

github.com

 

300x250

댓글