Вы не должны изменять код сторонних модулей, так как сложно отслеживать изменения, и это создает беспорядок с тем же кодом, скопированным во многие проекты. Типичное решение - иметь только одну версию каждого стороннего модуля в вашем пути Python, а не в директории вашего проекта. Этот единственный пакет может быть повторно использован всеми вашими проектами.
Однако для шаблонов необходим другой подход, поскольку их часто приходится модифицировать для каждого проекта. Вот почему Django поставляется с settings.TEMPLATE_DIRS
и settings.TEMPLATE_LOADERS
.
TEMPLATE_DIRS
указывает список каталогов, содержащих файлы шаблонов. TEMPLATE_LOADERS
определяет классы, используемые для загрузки шаблонов. Загрузчики будут использоваться в том порядке, в котором они были определены, а каталоги будут просматриваться в порядке их определения. Таким образом, вы можете сначала искать шаблоны в каталоге вашего проекта и в других модулях в качестве запасного варианта.
Таким образом, вам не нужно копировать весь модуль python, чтобы изменить один шаблон. Скопируйте только каталог шаблонов этого стороннего модуля или даже единственный шаблон, который вы хотите изменить. Если вы поставите правильное место и добавите, укажите путь в TEMPLATE_DIR
Django будет использовать его.