Как разработать модульные веб-интерфейсы с Django? - PullRequest
2 голосов
/ 13 марта 2010

Работая с большими сайтами в «большом бизнесе», вы наиболее вероятно работаете в команде с несколькими разработчиками.

Допустим, dev A создает форму для вставки новых пользовательских данных, B создает список пользователей, C выполняет администрирование некоторых привилегий, а D выполняет сумасшедшие статистические графики для генерации изображений и т. Д.

Каждый разработчик начинает разрабатывать свой собственный компонент, создает представление и шаблон и тестирует их независимо, пока каждый компонент не заработает.

Теперь клиент хочет разместить все эти компоненты на одной битовой HTML-странице. Как этого добиться? Как собрать различные представления / шаблоны в виде композиции, чтобы они оставались модульными и могли разрабатываться и тестироваться независимо?

Кажется, наследование - это не тот путь, потому что все эти компоненты пользовательского интерфейса равны и иерархии нет.

Идея шаблона сборки похожа на

<html>
<head>
// include the css for the components and their assembly
</head>

<body>
// include user data form here
<some containers, images, and so on>
// show user list
// show privilege administration in this part
// and finally, the nice statistic graphs

// perhaps, we want to display some other components here in future
</body>
</html>

Я еще не нашел ответ в сети. Большинство людей придумывают один большой шаблон, который просто реализует все функциональные возможности пользовательского интерфейса, удаляя всю модульность. Каждый компонент должен иметь свой собственный шаблон и представление, относящиеся только к тому компоненту, который разработан одним человеком, и затем они должны быть склеены вместе, как кирпичи.

Буду очень признателен за любые подсказки!

1 Ответ

3 голосов
/ 13 марта 2010

Теги включения - способ сделать это. Каждое приложение определяет теги, которые отображают свои собственные фрагменты шаблона, тогда мастер-шаблон может собрать их в одну страницу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...