본문 바로가기
코딩/파이썬

파이썬으로 간단하게 웹서버 구축하는 방법 - Flask 이용

by DIYver 2021. 8. 19.

파이썬으로 간편하게 웹서버를 구축할 수 있다.

Flask 라는 웹 프레임워크를 이용하면 된다.

 

장점으로는 가볍고 코드가 단순하며, 다양한 확장 기능들이 많다는 것이다.

그래서 API서버를 만드는데에 많이 쓰인다.

 

설치방법을 알아보자.

 

아나콘다의 CMD 창에서 아래 명령을 입력해주자.

pip3 install flask

또는 

pip install flask

 

 

최신 파이썬을 설치한 경우 이미 flask 가 설치되어있을 수 있다.

 

pip show flask

를 CMD에 입력해서 제대로 설치가 되어있는지 확인해봐야한다.

잘 설치가 되어있다면 위 사진처럼 설치된 flask의 버전이 뜨게 된다.

 

 

별 다른 작업 없이

웹서버를 작동시켜보자.

from flask import Flask
app = Flask(__name__)
 
@app.route('/')
def hello_world():
    return 'Hello World!'
 
if __name__ == '__main__':
    app.run()

 

파이썬을 실행시키고 위의 코드를 넣어준 뒤

실행을 시키면 웹서버가 작동하게 된다.

 

 

서버 주소는 127.0.0.1:5000 으로 되어 있는 것을 확인할 수 있고,

서버를 중지시키고 싶으면 CTRL+C 를 누르면 된다.

 

웹서버 페이지를 확인해보려면 웹 브라우져를 실행시키고 주소창에 서버주소를 입력하면 된다.

 

위와 같이 파이썬 코드에 넣어놓은 문구가 뜨는 것을 확인할 수 있다.

 

 

 

 

 

 

 

이제 간단한 페이지를 제작해서 서버에 올려보도록 하자.

 

from flask import Flask, render_template
app = Flask(__name__)
 
@app.route('/')
def main():
    return render_template('index.html')
 
if __name__ == '__main__':
    app.run()

파이썬 코드는 위의 코드로 바꿔주도록 하자.

 

 

그 다음으로는 html 파일부터 하나 만들어야 한다.

	
<!doctype html>
<html> 
    <head>
        <title>Example: 2-1</title>
    </head>
    <body>
        <h1>example 2-1</h1>
        <h2>html example</h2>
        
        <p>hello world</p>
        <p>hello
            world
        </p>
        <p>hello<br>world</p>
        <pre>
            hello world
            hello
                world
        </pre>
        <pre>
            <h2>hello
                    world
            </h2>
        </pre>
    </body>
</html>

위의 코드를 복사하여 메모장이든 코드편집기를 통해

index.html 

이라는 파일을 만들어준다.

 

해당 파일을 실행시켜보면 페이지 구성은 아래 사진과 같다.

 

 

이제 index.html 의 파일 위치가 중요하므로 잘 옮겨주도록 한다.

프로젝트 폴더 안에 

static 폴더와 templates 폴더가 존재해야하고,

flask 서버를 작동시키는 파이썬 코드가 존재해야 한다.

 

그리고 templates 폴더 안에 index.html 파일이 존재해야 한다.

 

 

준비를 마쳤다면 파이썬코드를 실행해보면 된다.

우리가 index.html 에 저장해줬던 내용이 

flask 로 만든 서버 페이지로 뜨는 것을 확인할 수 있다.

 

 

 

이렇게 되면 Flask 를 이용한 기본작업은 끝나게 된다.

여기에 다양한 기능을 추가로 붙여주면 만들고 싶은 웹페이지가 되는 것이다.

 

 

도움이 되었거나, 문제가 있는 경우 댓글로 알려주세요~!

감사의 댓글은 작성자에게 큰 힘이 됩니다 ^^

댓글