etc/[Python] Flask

[Flask] 파이썬으로 웹페이지 만들기 (1) 환경설정 및 기본 페이지 구성

코딩무민 2020. 12. 28. 16:25
반응형

[Flask] 파이썬으로 웹페이지 만들기 (1) 환경설정 및 기본 페이지 구성

[Flask] 파이썬으로 웹페이지 만들기 (2) Bootstrap 연동하기

[Flask] 파이썬으로 웹페이지 만들기 (3) URL Building(url_for)

[Flask] 파이썬으로 웹페이지 만들기 (4) 페이지 로그인 기능 만들기( 값 입력 및 출력)

[Flask] 파이썬으로 웹페이지 만들기 (5) 이미지 삽입하기

0. 환경설정

(1) 개발 디렉토리 설정

[Project Name] 

[app] 

      └ [static] 

            └ 자바스크립트, CSS, 이미지 등...

      └ [templates]

            └ HTML 파일들(폴더별로 정리 가능)

└ run.py

새로운 폴더를 만들어 다음과 같이 디렉토리를 설정해주시면 됩니다. 

- [Project Name] : 개발할 프로젝트 이름 

- [static] : CSS, 이미지, js 등을 저장 

- [templates] : html 템플릿 정리 

 

(2) 필요한 파이썬 모듈 설치 

 ! pip3 install flask 
 ! pip3 install pymysql
 ! pip3 install pyopenssl

1. 기본 웹페이지 만들기

(1) run.py 작성

경로 : Project_Name/run.py

from flask import Flask

app = Flask(__name__)

app.run(host="127.0.0.1", port=8001)

- host =   "127.0.0.1" : 로컬 호스트 의미

- port = 8001 : 포트넘버 지정 

(2) 메인 페이지 파일 작성 

경로 : Project_Name/app/main/index.py

# 필요한 모듈 import 
from flask import Blueprint, request, render_template, flash, redirect, url_for
from flask import current_app as app

main = Blueprint('main', __name__, url_prefix='/') # url_prefix : '/'로 url을 붙여라
 
@main.route('/main', methods=['GET'])
def index():
      return render_template('/main/index.html')

- @main.route('/main', methods = ['GET'] ) : "url_주소/main"으로 경로를 지정해라

- index() 함수 : main이라는 폴더 아래 index.html로 템플릿을 만들어라

(3) index.html 작성 

경로 : Project_Name/app/templates/main/index.html

<html>
    <head>
        This is Head of the Main Page
    </head>
    <br><br>
    <body>
        This is Body of the Main Page
    </body>
</html>

(4) __init__.py 작성 

* 모든 파일들을 전체적으로 초기화 및 실행하기 위한 파일

경로 : Project_Name/app/__init__.py

from flask import Flask

app = Flask(__name__)

# index.py 불러오기 
from app.main.index import main as main

# index.py를 main page로 연동해줌 
app.register_blueprint(main) 

 

이제 prompt 에서 python run.py 를 실행해보자.

실행 

그리고 검색창에 http://127.0.0.1:8001/main 을 검색하면 다음과같이 나오는 것을 볼 수 있다. 

웹페이지 결과창

결과창은 다음과 같다

 

출처: https://kkamikoon.tistory.com/155 [컴퓨터를 다루다]

반응형