Skip to content

Instantly share code, notes, and snippets.

@dittos
Created April 7, 2013 14:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dittos/5330641 to your computer and use it in GitHub Desktop.
Save dittos/5330641 to your computer and use it in GitHub Desktop.

Flask 프로젝트 구성하기

Flask를 처음 접하면 Django 등의 풀 스택 프레임워크와 달리 정해진 디렉토리 구조를 따를 필요가 없다는 점이 매력적이다. 하지만 연습 수준을 벗어나 실제로 프로젝트를 시작하게 되면 파일 한 개에 모든 코드를 다 넣을 수는 없으니, 어떻게든 모듈을 나눠보려 시도했다가 Flask의 특이한 구조때문에 '멘붕'했던 경험이 있다.

물론 Flask 문서에 좀 더 규모가 큰 애플리케이션을 구성하는 방법이 설명되어 있기는 하나, 애초에 Flask에서 커버하는 범위가 적기 때문에 DB 연동 등에 대한 내용은 없다. 그래서 실제 프로젝트에 바로 적용하기에는 뭔가 부족하다.

이 글에서는 내가 그동안 시행착오를 겪어오면서 어느 정도 체계를 잡은 프로젝트 구성 방식을 설명할 것이다. 당연한 이야기지만, 언제나 이 글에 나온대로 구성할 수 있는 것은 아니다. 프로젝트의 규모나 요구 사항에 따라서는 여기서 설명하는 방식이 부적절할 수도 있음을 미리 밝혀둔다. (실은 메모의 성격이 더 큰 글임을 감안해야 한다;;)

디렉토리 구성

디렉토리는 다음과 같이 구성한다. 이제 각 파일과 디렉토리의 역할을 하나씩 설명할 것이다.

(project root)/
	myapp/
		__init__.py
		models.py
		/static
		/templates
		/views
			__init__.py
			blog.py
			...
	requirements.txt
	manage.py
	settings.py

myapp/__init__.py

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment