Django는 하나의 코드로 여러 사이트를 운영할 수 있는 Site 프레임워크를 제공합니다. 이를 이용하면 같은 레이아웃을 가지지만 서로 다른 콘텐츠를 제공하는 두 개 이상의 사이트를 쉽게 만들 수 있습니다. 하지만 내용뿐만 아니라 레이아웃까지 다르게 가져가려면 Site 프레임워크를 확장할 필요가 있습니다. 이 발표에서는 Django의 Site 프레임워크에 관해 먼저 알아보고, Site 프레임워크를 미들웨어 수준에서 확장하여 하나의 코드 기반으로 여러 개의 사용자 정의 가능한 사이트를 운영한 경험과 방법을 이야기하고자 합니다. 각 사이트 별로 서로 다른 템플릿과 리소스를 사용하되, 특정 사이트에 템플릿이 없을 경우 기본(fallback) 템플릿을 사용하는 방법에 관해 알아볼 것입니다. 사이트 별로 urls.py 파일을 별도로 구성하는 방법 및 사이트 URL에 따라 settings.py 값을 오버로딩 하는 법도 이야기할 것입니다. 이를 통해, 코드 개발의 편의성을 유지하면서도 다양성을 가지는 여러 사이트를 운영하는 경험을 공유하려고 합니다.