웹 프로그래밍 범범조조 2022. 3. 28. 21:50
참조 https://wikidocs.net/81510 소개 앞서 진행한 pybo/init.py 파일 내용을 보면 create_app 함수 안에 hello_pybo 함수가 들어 있습니다. hello_pybo 함수는 URL에서 / 에 매핑되는 함수인데, 그 매핑을 @app.route('/') 라는 애너테이션이 만들어 줍니다. 이때 @app.route 와 같은 애너테이션으로 매핑되는 함수를 라우트 함수 라고 합니다. 하지만, 지금처럼 작성을 하게 되면 새로운 URL이 생길 때 라우트 함수를 create_app 함수 안에 계속 추가해야 하는 불편함이 있습니다. 이때 사용할 수 있는 클래스가 블루프린트(Blueprint) 입니다. 블루프린트 생성하기 init.py 파일의 hello_pybo 함수에 ..
더 읽기
웹 프로그래밍 범범조조 2022. 3. 28. 21:23
참조 https://wikidocs.net/81504 소개 앞에서 플라스크 앱을 간단히 알아 보았습니다. 실제로 플라스크 앱은 아래 코드에서 보듯 Flask 클래스로 만든 객체를 말합니다. app = Flask(__name__) 플라스크는 app 객체를 사용해 여러 가지 설정을 진행합니다. 그런데 이와 같은 방식으로 app 객체를 전역으로 사용하면 프로젝트 규모가 커질수록 문제가 발생할 확률이 높아집니다. 순환 참고(circular import) 오류가 대표적입니다. 애플리케이션 팩토리 사용하기 app 객체를 전역으로 사용할 때 발생하는 문제를 예방하려면 애플리케이션 팩토리를 사용하면 됩니다. 애플리케이션 팩토리는 쉽게 말해 app 객체를 생성하는 함수를 의미합니다. 1. pybo.py를 init.py ..
웹 프로그래밍 범범조조 2022. 3. 28. 20:15
참조 https://wikidocs.net/81044 플라스크 프로젝트 구조 예제로 만들 Flask 프로젝트의 전체 구조는 다음과 같습니다. ├── pybo/ │ ├─ __init__.py │ ├─ models.py │ ├─ forms.py │ ├─ views/ │ │ └─ main_views.py │ ├─ static/ │ │ └─ style.css │ └─ templates/ │ └─ index.html └── config.py 앞에서 먼저 만들었던 pybo.py 파일은 pybo 패키지로 변경할 수 있습니다. 이 구조에서 보듯 pybo 디렉터리 안에 있는 init.py 파일이 pybo.py 파일의 역학을 대신할 것입니다. pybo 패키지 안에 구성해야 하는 파일과 디렉터리는 다음과 같습니다. 데이터베..
웹 프로그래밍 범범조조 2022. 3. 28. 19:58
참조 https://wikidocs.net/81041 파이썬 가상 환경 알아보기 파이썬 가상 환경은 파이썬 프로젝트를 진행할 때 독립된 환경을 만들 수 있게 해줍니다. 예를 들어 파이썬 개발자 A가 2개의 파이썬 프로젝트를 개발하고 관리한다고 가정합니다. 파이썬 프로젝트를 각각 P-1, P-2 라고 부른다고 했을 때, 이때 P-1, P-2 에 필요한 파이썬 또는 파이썬 라이브러리의 버전이 다를 수 있습니다. 이를테면 P-1 에는 파이선 2.7 버전이, P-2 에는 파이썬 3.8 버전이 필요할 수 있습니다. 이때 하나의 데스크톱에 서로 다른 버전의 파이썬을 설치해야 하는 문제가 발생할 수 있습니다. 이걸 방지하고자 가상 환경을 설정합니다. 1. 가상 환경 디렉터리 생성하기 윈도우에서 명령 프롬프트를 실행하..