ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Flask를 이용하여, 웹 구축 - 1
    Programming/Python 2020. 9. 6. 23:04
    반응형

    간단히 소개를 드리면 저는 웹 언어(CSS,HTML)를 잘 못다룹니다.

    기초적인 수준으로만 가능하고, 레이아웃을 나눠서 구현한다던가 그런 부분은 잘 못합니다.

    만든 목적으로는 머신러닝 기술을 어떻게 적용할까?로 부터 시작됐습니다.

     

    혼자 포트폴리오용으로 만들면서 겪었던 이야기를 적을 예정입니다.

     

    구축환경은 Pycharm을 이용합니다.

     

    여러 기능 구현을 할때는 Jupyter Lab을 사용하면서 테스트를 하는 것을 추천드립니다.(개인적으로)

     

    - 파이참 다운로드(Pycharm)

    https://www.jetbrains.com/ko-kr/pycharm/download/#section=windows

     

    다운로드 PyCharm: JetBrains가 만든 전문 개발자용 Python IDE

    최신 버전 다운로드: PyCharm (Windows, macOS, Linux)

    www.jetbrains.com

    • Project 폴더 생성

    새로운 폴더를 만드시고 File - open 을 이용하여 프로젝트 폴더를 설정 바랍니다.


    • Project Interpreter 설정

    Interpreter 설정은 FIle - Settings - Project Interpreter 에서 설정 할 수 있습니다.

    저는 개인적으로 Flask 서버용 인터프리터를 하나 만드시는걸 추천드립니다.

     


     

    • 모듈 설명

    Flask에 제공되는 모듈로 기본적으로 알아 두어야 할 모듈입니다.

     

    flask에서 제공되는 모듈

     

    render_template : html 을 불러주는 역할 및 파라미터 전달용

    request : Get, Post방식을 표출 할 수 있습니다.

    (Get은 웹페이지 접속시 바로 뜨는 것이라 생각하면 되고, Post방식은 내가 어떤것을 적용하거나, 외부로 보낼때 라고 생각하면 됩니다.)

    Flask : 라우터역할(서비스 시작버튼 이라고 생각하면 편합니다.)

    abort : 경고페이지 송출

     

    이 정도면 충분하고,

    project 디렉토리까지 만들었다면

    새로운 폴더 2개를 생성합니다.

    폴더들

    중요)꼭 이름을 똑같이 맞춰서 생성해야 합니다.

     

    static : 정적폴더입니다.

    - 이미지, 자바스크립트, 텍스트파일, 폰트 등등

     

    templates : HTML 파일

     

    두개까지 만들었다면 기본 세팅은 끝났습니다.

    templates 폴더내에 새로운 html 파일을 만들고 테스트를 진행하시면 됩니다.

     

     


    • 시작

    static 폴더에 새로운 html 폴더를 만들어 주세요.

    home 이라는 파일명을 설정 후 진행해주세요.

     

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <h3>Hello world</h3>
    </body>
    </html>

    app.py 를 하나 생성하시고, 밑에 코드를 붙여 넣어주세요.

    from flask import render_template, request
    from flask import Flask, abort
    
    app = Flask(__name__)
    
    @app.route('/')
    def home():
    	return render_template('home.html')
    
    if __name__ == '__main__':
        app.run(host='127.0.0.1', port=8080, debug=False)

    여기서

    app에 Flask라는 모듈을 심고

     

    그 밑에

    @app.route('/') 를 사용 했는데요.

    이 부분은 접속경로 입니다.

    '/'
    '/home'

    결론적으론 사이트에 /home이라고 입력을 받으면

    home.html을 반환하는 거라고 보시면 됩니다.

     

    if __name__ == '__main__':

    이 메소드는 이 모듈을 바로 실행했을때 진행하는 모듈입니다.

    위에 flask를 불러온것 처럼 py끼리 서로 불러올 수 있습니다.

    그때 이용되는 메소드입니다.

     

    지금은 처음 단계이기 때문에

    host는 로컬호스트로, port는 8080 기본 포트로 주었습니다.

     

    차차 온라인으로 변경하는 방법을 적도록 하겠습니다.

     

    debug도 False로 설정하였습니다.

    디버그는 테스팅모드를 이용할때 사용됩니다.

    새로운 페이지를 설정하거나, 새로운 함수를 설정할때 사용됩니다.

     

    빠른 시일내에 온라인까지 적용 하겠습니다.

    감사합니다.


     

     

    반응형

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

    Python 기초 공부 - 4  (0) 2021.03.06
    Python 기초 공부 - 3  (0) 2021.03.05
    Python 기초 공부 - 2  (0) 2021.03.04
    Python 기초 공부 - 1  (0) 2021.03.04
    Python PEP8 요약  (0) 2021.02.06
Designed by Tistory.