Утилита django-admin/manage.py

Утилита django-admin/manage.py

django-admin - консольный интрумент Django для выполнения административных задач. Модуль manage.py автоматически создается в проекте Django, он выполняет задачи аналоичные django-admin, но при выполнении устанавливает переменную окружения DJANGO_SETTINGS_MODULE, чтобы она указывала на файл settings.py вашего проекта. При работе с одним проектом удобнее использовать manage.py. При необходимости переключения между различными файлами настроек, используйте django-admin c переменной окружения DJANGO_SETTINGS_MOSULE или опцией --settings.

В текущей шпаргалке команды приведены для Django версии 1.8.

Чтобы воспользоваться утилитой выполните в командной строке одну из следующих инструкций:

# Наиболее удбобный вариант использования команды для управления одним проектом
$ manage.py <command> [options]
# Общий формат выполнения команды
$ django-admin <command> [options]
# Вызов команды с укзанием конкретного файла настроек проекта
$ django-admin <command> --settings=my_project.settings [options]
# или через установку переменной окружения
$ DJANGO_SETTINGS_MODULE=my_project.settings django-admin <command> [options]

Большая часть команд принимает список “названий приложений”. “Название приложения” – это название основного пакета приложения. Например, если настройка INSTALLED_APPS содержит строку 'mysite.blog', название приложения будет blog.

При необходимости пределить уровень выводимых в консоль django-admin уведомлений укажите флаг опцию --verbosity:

django-admin <command> --verbosity 2

где verbosity может принимать одно из следующих значений:

  • 0 - ничего не выводить
  • 1 - обычный вывод
  • 2 - подробный вывод
  • 3 - очень подробный вывод
Описание Команда
Помощь и версия Django
Отобразить помощь и список доступных комманд
Обтобразить список доступных комманд
Обтобразить описание команды command и список доступных опций
Отобразить текущую версию Django
Основные команды
Создать проект myproject в директории /home/myproject
Создать проект myproject в текущей директории с указанием файла пользовательского шаблона /home/proj_template
Создать проект myproject в текущей директории с указанием файла пользовательского шаблона размещенного на github
Создать приложение myapp в директории /home/myproject/myapp с указанием файла пользовательского шаблона размещенного на github
Запустить интерактивный сеанс python
Запустить интерактивный сеанс python в оболочке bpyhon (доступны ipython,bpython,python)
Выполнить команду которая выведет версию Python в оболочке
Запустить web-сервер разработки с IP-адресом 1.2.3.4 на порту 7000
Миграции
Создать новые миграции на основе изменений в моделях для всех приложений.
Создать новые миграции на основе изменений в моделях для приложений blog и forum
Создать в каталоге мигарций приложения app пустую миграцию для последующего ручного редактирования с именем migration_102
Вывести все действия, которые будут выполнять создаваемые миграции, не создавая файл с миграцией.
Выполнить объединение конфликтующих миграций
Синхронизировать состояние БД с текущим состоянием моделей и миграций для всех приложений
Синхронизировать состояние БД с меткой MyDatabase c текущим состоянием моделей и миграций для всех приложений
Синхронизировать состояние БД с текущим состоянием моделей приложения blog до миграций migration_10 (включая ее)
Пометить текущие миграции как выполненные не трогая БД (без выполнения SQL запросов)
Объединить миграции приложения blog от начальной до миграции last_migration включая ее
Администрирование (команды доступны только если установлена система авторизации django.contrib.auth)
Создать суперпользователя root с email: root@example.example
Изменить пароль пользователя my_user
Генерация данных (статические файлы, перевод)
Собрать статические файлы в STATIC_ROOT
Собрать статические файлы с предварительной очисткой STATIC_ROOT
Создать файл переводимых сообщений (*.po) в conf/locale для всех языков
Создать файл переводимых сообщений (*.po) в conf/locale для немецкого языка (de) обрабатывая файлы с расширением xhtml, html
Скомпилировать файлы переводимых сообщений (*.po) в файлы (*.mo) для использования с gettext с целью локализации проекта для немецкого локаль (de_DE)
Создать в БД таблицу, которая будет исползоваться соответствующим бэкендом кеша.
Работа с базой данных
Запустить оболочку для БД с параметрами указанными в настройках проекта (ENGINE, USER, PASSWORD и т.д.)
Создать дамп всех моделей приложений auth и blog в файл db_dump.json
Создать дамп всех моделей проекта исключив приложение auth модель blog.Entry
Создать дамп db_dump.xml модели User приложения auth в формате xml.
Создать дамп модели User приложения auth, используя базовый менеджер и выводя только объекты с первичным ключем 1, 2, 3
Загрузить дамп (фикстуру) из файла db_dump.json расположенного в каталоге проекта
Загрузить дамп (фикстуру) из файла в приложении auth по пути fixtures/foo/bar/db_dump.json
Загрузить сжатую текстуру db_dump.json.zip из каталога fixtrures приложения auth
У вас есть несколько БД нужно загрузить фикстуру db_dump.json в БД master
Удалить все данные из БД запустить post-sychronization обработчики и закгрузить начальные данные из фикстур
Тестирование
Запустить все тесты проекта
Запустить тесты в пакете articles останавливая при первой ошибке
Запустить тесты в пакете articles с сохранением состояния БД
Запустить тесты в пакете articles с сортировкой тестов в обратном порядке
Запустить тесты в пакете articles логированием SQL для упавших тестов
Запустить тесты начинющиеся с 'tests_'
Запустить сервер для разработки с использованием данных из фикстур fixture_1, fixture_2
Запустить сервер для разработки с использованием данных из фикстуры my_data.json на порту 7000 IP-адреса 192.168.0.1
Выявление потенциальных проблем
Проверить проект на наличие потенциальных проблем
Проверить проложения blog, myapp на наличие потенциальных проблем
Проверить проблемы конфигурации связанные с БД.
Вывести список доступных тэгов, которые могут быть переданы с опцией --tag
В вашей локальной среде разработки, выполнить проверки уместные в настройках развертывания.
Выполнить проверку приложения myapp с выходом с ненулевым статусом при уровне WARNING.
Проверить отправку писем. Отправить тестовое письмо на user@example.com
Проверить отправку писем. Отправить тестовое письмо администраторам перечисленным в ADMINS
Отобразить разницу между текущими настройками и настройками Django по умолчанию.