Как в новом проекте Django создать папку проекта и пакет проекта с разными именами?

Обычно мы создаем новый проект в Django командой
django-admin startproject <project_name>
Как я уже писал, создаваемая структура папок не очень удобна, т.к. путь к конфигурационным файлам получается каким-то вот таким:
/project_name/project_name/settings.py
и предлагал переименовать пакет проекта (project package) в config/, внеся соответствующие правки в конфигурационные файлы.

Но есть способ попроще.

Структура папок, в которых хранятся мои проекты, выглядит примерно вот так:
  • projects/
    • project-1
      • env/
      • site/
        • config/
        • manage.py
      • docs/
    • project-2
    • ...
    • project-N
Предположим, что мы уже установили Django и активировали виртуальное окружение.
Как, зайдя в папку проекта, например, project-N, получить папку проекта site/, сразу внутри нее пакет проекта config/ и при этом не бегать по файлам и ничего там не переименовывать?
Нужно в папке project-N сначала создать папку site/:
cd project-N
mkdir site
а потом запустить команду:
django-admin startproject config site/
Пожалуйста:
  • project-N
    • env/
    • site/
      • config/
      • manage.py
Что делает эта команда? Устанавливает проект под названием config в существующую папку site/. Во всех конфигурационных файлах теперь прописана ссылка на папку config/, ну а в качестве минуса в закомментированной части файла settings.py проект будет назван config'ом:
Django settings for config project.
Думаю, это можно пережить.
tags: