본문 바로가기
Python

파이썬으로 Flask를 활용하여 가상환경 만들고 무료 홈페이지 만들기

by Antonio Bae 2024. 3. 15.

 

안녕하세요

 

오늘은 파이썬으로 Flask를 활용하여 무료 홈페이지 만들는 방법을 알려드리겠습니다.

 

1.파이썬 설치 및 설치 확인

2.flask 활용

3.가상환경만들기

4.homepage01 - script 폴더로 이동

5.activate 실행

6.flask 설치

7.hello.py파일 생성

8.flask 실행

9.Bootstrap폴더 붙히기

 

1.파이썬 설치 및 설치 확인

python 설치 확인 python --version

 

2.폴더 생성

저는 c드라이브에 myproject01이라고 만들었습니다.

이 폴더 안에 홈페이지1, 홈페이지2, 홈페이지3 폴더형식으로 홈페이지를 만들어나갈 예정입니다.

3.가상환경만들기

폴더 주소를 복사해서 명령프롬프트에서 이동해줍니다.

파이썬 가상환경 모듈은 venv라는 모듈입니다.

이 모듈을 통해 가상환경을 만듭니다.

flask installation 검색해서 들어가줍니다.

 

 

해당 코드를 입력하는데 2번 폴더를 만드셨다면

mkdir myproject01 이라는 명령은 안해도 됩니다.

 

mkdir myproject01
cd myproject
py -3 -m venv .venv homepage01
 

다음과 같이 입력해주면

 

 

폴더가 만들어지고 venv 가상환경이 만들어집니다.

4.homepage01 - script 폴더로 이동

 

5.activate 실행

 

activate 실행하면 가상 환경에 진입한 것을 확인할 수 있습니다.

 

6.flask 설치

이 가상환경에 이제 flask를 설치합니다.

pip install flask
 
 

 

7.start.py파일 생성

 

flask 공식 홈페이지 - Quickstart 참조

다시 flask 공식 홈페이지로 돌아와서 Quickstart 에 들어가면 어플리케이션 작동 코드를 알려줍니다.

해당 코드를 복사에서 homepage01폴더 안에 start.py라는 파일을 만들어 붙혀넣어줍니다

from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello_world():
    return "<p>Hello, World!</p>"
 

 

 

웹서버 구동 원리 설명

부가적인 내용으로

이 포트를 통해 확인해보면 웹서버가 구동이 되는 원리입니다:)

 

$ flask --app hello run
 * Serving Flask app 'hello'
 * Running on http://127.0.0.1:5000 (Press CTRL+C to quit)
 

 

8.flask 실행

cd ..

flask --app start run

다음 화면이 나오면 실행이 잘 된 상태입니다:)

해당 화면에 나온 포트 주소로 접속하면 이제 내용을 볼 수 있습니다:)

 
 

 

 

9.Bootstrap폴더 붙히기

bootstrap template 검색해서 원하는 홈페이지 형식의 템플릿을 다운받습니다.

 

 

 

제가 추천하는 무료 사이트는 이거에요

https://themewagon.com/theme-price/free/

이미지 썸네일 삭제
Free Archives

Searching for high-quality free demo HTML5 website templates? Download responsive HTML5 CSS3 website templates & Bootstrap themes. Free for commercial use.

themewagon.com

정말 다양한 템플릿이 많더군요..

 

 

해당 파일 압축을 풀어서 기존 파일에 html이라는 폴더로 붙혀넣기 해줍니다.

 

 

 

10.start.py 파일에 경로 추가

마지막 단계입니다.

기존 start.py 파일에 해당 경로를 추가해줍니다.

이 함수를 넣게 되면 뒤에 이름을 지정하면 지정한 경로로 안내하는 코드라고 이해하시면 됩니다.

@app.route('/<path:name>')
def start(name):
    return send_from_directory('html',name)
 

최종 코드입니다.

헬로우로 들어오면 헬로우반환

빈값으로 들어오면 기존 index.html에서 세팅한 값을 반환

새로운 이름을 지정하면 그 이름으로 반환하는 형식입니다.

from flask import Flask, send_from_directory

app = Flask(__name__) 

@app.route("/hello") #127.0.0.1
def hello_world():
    return "<p>Hello, World!</p>"

@app.route("/") #127.0.0.1
def index():
    return send_from_directory('html',"index.html") #127.0.0.1/html/css/b.css

@app.route('/<path:name>') #127.0.0.1/css/b.css
def start(name):
    return send_from_directory('html',name) #127.0.0.1/html/css/b.css
 

이렇게 저장하시고 flask 다시 시작하면 해당 템플릿으로 홈페이지가 구현됩니다.

만약 무엇인가 오류가 난다면 5번 activate부터 다시 실행하시면 됩니다.

 

고생 많으셨습니다.