Do it! (4) 썸네일형 리스트형 Do it! 모델 만들기 01. 모델 속성 구상하기 질문과 답변 모델에는 어떤 속성이 있어야 할까? 질문 모델에는 다음 속성이 필요하다. 속성명 설명 id 질문 데이터의 고유 번호 subject 질문 제목 content 질문 내용 create_date 질문 작성일시 답변 모델은 다음과 같은 속성이 필요하다. 속성명 설명 id 답변 데이터의 고유 번호 question_id 질문 데이터의 고유 번호(어떤 질문에 달린 답변인지 알아야 하므로 질문 데이터의 고유 번호가 필요하다) content 답변 내용 create_date 답변 작성일시 02. 질문 모델 생성하기 이렇게 구상한 속성을 바탕으로 모델을 정의해 보자. 먼저 pybo 디렉터리에 models.py 파일을 생성하고 질문 모델인 Question 클래스를 작성하자. Questio.. 플라스크 ORM 라이브러리 사용하기 파이썬 ORM 라이브러리 중 가장 많이 사용하는 SQLAlchemy를 사용해 보자. 이와 더불어 파이썬 모델을 이용해 테이블을 생성하고 컬럼을 추가하는 등의 작업을 할 수 있게 해주는 Flask-Migrate 라이브러리도 사용해 보자. 01. ORM 라이브러리 설치하기 Flask-Migrate 라이브러리를 설치하면 SQLAlchemy도 함께 설치되므로 myproject 가상 환경에서 다음 명령을 수행하여 Flask-Migrate 라이브러리를 설치하자. pip install Flask-Migrate 02. 설정 파일 추가하기 파이보에 ORM을 적용하려면 config.py라는 설정 파일이 필요하다. 루트 디렉터리에 config.py 파일을 생성하고 다음과 같은 코드를 작성하자. SQLALCHEMY_DATAB.. 블루프린트 라우트 함수 관리 from flask import Flask def create_app(): app = Flask(__name__) @app.route('/') --- 매핑 만들어줌 : 라우트 함수 def hello_pybo(): --- URL에서 /에 매핑돠는 함수 return 'Hello, pybo!' return app 이전에 작성해본 코드는 새로운 URL이 생길 때마다 라우트 함수를 create_app 함수안에 계속 추가해야 하는 귀찮음이 있다. 이를 해결해주는 클래스가 블루프린트다. 블루프린트(Blueprint) : '청사진', 플라스크에서는 URL고 호출되는 함수의 관계를 확인할 수 있는 Blueprint 클래스를 의미 → 라우트 함수를 구조적으로 관리할 수 있다. 01. 블루 프린트 생성하기 __init__... 플라스크 프로젝트 생성하기 01. 프로젝트 루트 디렉터리 생성하기 플라스크 프로젝트는 여러 개가 될 수 있으므로 프로젝트를 모아 둘 프로젝트 루트 디렉터리를 생성해야 한다. 여기서 프로젝트 루트 디렉터리 이름을 projects로 지었다. 02. 프로젝트 루트 디렉터리 안에서 가상 환경에 진입하기 다음 명령어를 입력해 앞에서 만든 myproject 가상 환경에 진입한다. 이때, 반드시 프로젝트 루트 디렉터리에서 명령어를 입력해야 한다. "길어도 꾹 참고 입력!" 03. 플라스크 프로젝트를 담을 디렉터리 생성하고 이동하기 플라스크 프로젝트를 담을 myproject 디렉터리를 생성하고 이동하자 04. 배치 파일로 myproject 가상 환경에 간단히 진입하기 myproject 가상 환경에 진입하려면 매번 명령 프롬프트를 실행하고 C:\.. 이전 1 다음