Я вижу два совершенно разных способа сделать это:
- Используйте одну базу данных и структуру сайтов. Каждый пост / изображение / какая-либо модель связана с сайтом, и вы всегда фильтруете на сайте. Для этого требуется отдельный файл настроек для каждой базы данных.
- Используйте одну базу данных для каждого сайта. Это позволяет использовать разных пользователей для каждого сайта, но требует дублирования всего , хранящегося в базе данных. Также требуется отдельный файл настроек, указывающий на правильную базу данных.
В любом случае, вы не дублируете какой-либо код, только данные.
-
Если вам нужно внести изменения, относящиеся к конкретному сайту, или пост-специфические изменения в ie. шаблон, вы должны прочитать о том, как Django загружает шаблоны. Он позволяет вам указать список, т.е. ["story_% d.html", "story_site_% d.html", "story.html"] и django будут искать шаблоны в этом порядке.