Есть ли инструмент для визуализации структуры проекта / информационного потока Django?

Я хотел бы иметь возможность просматривать структуру моего проекта Django, то есть какие URL-адреса указывают на какие представления, какие представления указывают на какие шаблоны, какие файлы css включены в какие шаблоны и т. Д.

Я знаю об отличном инструменте визуализации моделей в Расширения команд Django, но мне нужен другой инструмент, который может визуализировать связи между:

  1. URL-адреса и просмотры;
  2. Просмотры и шаблоны;
  3. Шаблоны и другие шаблоны (с помощью {% extends %}, {% include %} и пользовательских тегов шаблонов);
  4. Шаблоны и статические файлы (css, js, изображения).

Есть такие?


person Dennis Golomazov    schedule 10.02.2011    source источник
comment
Это было бы круто. Вы ищете что-то, что проверяет и автоматически создает карту, правильно? Спасибо за ссылку на инструмент визуализации модели.   -  person Yuji 'Tomita' Tomita    schedule 10.02.2011
comment
Да, точно. Пожалуйста!   -  person Dennis Golomazov    schedule 10.02.2011


Ответы (1)


Невозможно создать инструменты, которые вы ищете, которые хорошо работали бы на практике. Django не принуждает вас к какой-либо структуре. Инструмент можно заставить работать только со строгой структурой. Также django позволяет в полной мере использовать динамическую природу python. Слишком сложно создавать инструменты, которые могли бы понять динамику вашего проекта.

Несколько примеров:

  • представления могут быть методами, сгенерированными фабричными методами.

  • представление может отображать разные шаблоны в разных ситуациях.

  • URL-адреса могут создаваться динамически

  • Можно использовать настраиваемый повторный URL-адрес

  • Переменная может использоваться в теге {% extend %}. Допустим, один базовый шаблон для аутентифицированного пользователя и другой для анонимного.

Инструменты, которые предоставляют много визуальной информации о проекте, характерны для мира Java, но не для Python.

Одним из больших преимуществ Python является то, что он позволяет быстро писать читаемый код. Обычно хорошо написанный и структурированный код достаточно хорошо объясняет себя без дополнительных инструментов.

Чтобы упростить процесс поиска шаблона / представления, вы должны иметь хорошую структуру кода и, возможно, изобрести некоторые соглашения об именах на уровне проекта для представлений / шаблонов / URL-адресов.

person Ski    schedule 10.02.2011
comment
Спасибо за ответ. Лично меня это не устраивает, так как это в основном негатив. Хотелось бы, чтобы был инструмент, позволяющий визуализировать хотя бы более-менее простые проекты. Он не может охватывать все возможные случаи, а дает лишь обзор. Поскольку других (положительных) ответов нет, а ваш хорошо объяснен, я принимаю его. Спасибо. - person Dennis Golomazov; 12.03.2011
comment
Я не думаю, что большинство из этих вещей было бы невозможным, скорее, некоторые из них было бы трудно выполнить. - person Ravi Kumar; 04.12.2012
comment
Я понимаю, что это старый вопрос, но FWIW я только что добавил ответ на связанный вопрос о визуализации графа наследования шаблонов (stackoverflow.com/a/ 40708208/846115) - person benebun; 20.11.2016