Django переопределяет команды startapp | startproject

#django #django-commands

#django #django-команды

Вопрос:

Мне нужно создать проект Django с другой структурой файлов и папок. В частности, мне нужно добавить 2 папки: qqapp и qqproject при создании нового приложения с помощью startapp команды, каждая из которых содержит несколько базовых файлов.

Как я могу переопределить базовые команды или добавить пользовательские?

Мое текущее решение — редактирование файлов базовых команд (изменение имени каталога для папок по умолчанию) django/core/management/commands/startapp|project.py, , но я думаю, что это плохая идея.

Ответ №1:

Для этого используйте шаблоны проектов.

 django-admin.py startproject --template=/path/to/my_project_template myproject
  

Ответ №2:

для этого есть документация: https://docs.djangoproject.com/en/dev/howto/custom-management-commands /

Комментарии:

1. я знал об этом, но для создания пользовательских команд нам нужно создать приложение и добавить его в INSTALLED_APPS .. или я ошибаюсь?

2. кстати, я хочу создать команду startproject .. в тот момент у нас был проект, так что это не подходит для меня, я думаю

3. Я посмотрел на источник: code.djangoproject.com/browser/django/trunk/django/core/… Вы можете установить свою команду в файл django.core, и в этом случае вам не понадобится приложение. однако это все еще не очень чисто.

4. сейчас я использую что-то вроде этого, это работает, но ищу хороший способ для этого, если это возможно)

5. вы имеете в виду, что хотите избежать размещения вашего кода в каталоге django / core?