django-szef jest realizacja pomysłów przedstawionych w moim blogu na temat poleceń zarządzania Django. Dzięki niemu można określić polecenia w poszczególnych aplikacji, a następnie uruchamiać je za pomocą djboss interfejs wiersza poleceń.
Instalacja django-boss
W tej chwili, montaż odbywa się za pomocą easy_install django-boss lub pip zainstalować django-szefa. Jedyne warunki wstępne są argparse, którego instalacja jest obsługiwane przez setuptools i Django, które powinieneś już zainstalowany i tak.
Pisanie Polecenia
Polecenia są określane jako przypadki djboss.commands.Command, obecnych w modułem poleceń aplikacji zainstalowanej wewnątrz. Na przykład, weźmy następujący układ aplikacji:
echoapp /
| - __init__.py
| - Commands.py
`- Models.py
Plik commands.py jest modułem, który może być importowane jako echoapp.commands.
Z dekoratorów
Poniżej znajduje się pełna Przykład poprawnego pliku commands.py:
z djboss.commands import *
command
def komentarzy (args):
& Nbsp; "" "Drukuj banał do konsoli." ""
& Nbsp; print "Hello, World!"
Ten przykład używa dekoratorcommand oświadczyć, że funkcja jest polecenie django-boss. Możesz dodać argumenty do polecenia zbyt; wystarczy użyć dekoratorargument (upewnij się, że pochodzą one pocommand):
command
argument ('- n', '--no-nowa linia ", action =" store_true ",
& Nbsp; help = "Nie wstawiaj kończący znak nowej linii.")
def komentarzy (args):
& Nbsp; "" "Drukuj banał do konsoli." ""
& Nbsp; jeśli args.no_newline:
& nbsp; import sys
& Nbsp; sys.stdout.write ("Witaj, świecie")
& Nbsp; dalej:
& Nbsp; print "Hello, World!"
argument Dekorator przyjmuje cokolwiek argparse.ArgumentParser.add_argument () robi; skonsultować się z argparse docs aby uzyskać więcej informacji.
Możesz również opisywanie polecenia podając argumentów słów kluczowych, abycommand:
command (name = "coś", description = "Czy coś.")
do_something def (args):
& Nbsp; "" ". Zrób coś" ""
& Nbsp; print "coś zostało zrobione."
W tym przypadku, polecenie będzie nazywane "coś" zamiast "coś zrobić," generowanego automatycznie, a jego opis będzie się różnić od docstring. Aby uzyskać więcej informacji na temat tego, co może być przekazane w tutaj, skonsultować się z dokumentów argparse.ArgumentParser.
Bez dekoratorów
API jest bardzo podobna bez dekoratorów. Klasa Polecenie służy do zawijania funkcje, a możesz dać argumenty słów kluczowych podczas wywoływania go jako zcommand:
def Echo (args):
& Nbsp; ...
echo = Command (echo, name = "...", description = "...")
Dodawanie argumentów używa metody Command.add_argument (), która jest tylko odniesienie do wygenerowanego sub-parser & rsquo; s add_argument () Metoda:
def Echo (args):
& Nbsp; ...
echo = Command (echo, name = "...", description = "...")
echo.add_argument ('- n', '--no-nowa linia', ...)
echo.add_argument ("słowa", nargs = '*')
Uruchamianie poleceń
Polecenia są wykonywane przez djboss interfejs wiersza poleceń. Do tego, aby działać poprawnie, należy jedną z dwóch rzeczy:
* DJANGO_SETTINGS_MODULE zmienna, która odnosi się do ważnego, przywozowe modułu Pythona.
* Ważne, moduł Ustawienia przywozowe w bieżącym katalogu roboczym.
Gdy jeden z tych, jest objęty, można go uruchomić:
djboss --help
Wykorzystanie: djboss [-h] [-v] [-l LEVEL] polecenie ...
Wykonywać polecenia zarządzania django-Boss.
opcjonalne argumenty:
& Nbsp; -h, --help pokazuj tego komunikatu pomocy i kończy
& Nbsp; -v, numer --version programu wersji i zakończ
& Nbsp; -l LEVEL, --log-poziom LEVEL
& Nbsp; Wybierz poziom dziennika z DEBUG, informacja, uwaga (domyślnie)
& Nbsp; lub błędów.
Polecenia:
& Nbsp; KOMENDA
& Nbsp; echo Echo argumenty powrotem do konsoli.
& Nbsp; witam Wydrukuj frazes do konsoli.
Aby dowiedzieć się podkomendy, djboss pierwsze znaleziska i importu ustawień Django.
Zmienna DJANGO_SETTINGS_MODULE ma pierwszeństwo, ale jeśli nie jest określony, djboss będzie szukał modułu `Settings` w bieżącym katalogu. Polecenia powinny być zdefiniowane w `commands` modułem każdej aplikacji. djboss wyszuka każdego z poleceń INSTALLED_APPS zarządzania.
Każdy Komenda opcji --help dostaje też:
djboss echo --help
użytkowania: djboss echo [-h] [-n] [słowa [słowa ...]]
Echo argumenty powrotem do konsoli.
pozycyjne argumenty:
Słowa & nbsp;
opcjonalne argumenty:
& Nbsp; -h, --help pokazuj tego komunikatu pomocy i kończy
& Nbsp; -n, --no-nowa linia Nie drukuj nowej linii później.
A potem można go uruchomić:
djboss echo kilka słów tutaj
kilka słów tutaj
Więcej tego samego:
djboss komentarzy --help
Wykorzystanie: djboss komentarzy [-h]
Wydrukuj frazes do konsoli.
opcjonalne argumenty:
& Nbsp; -h, --help pokazuj tego komunikatu pomocy i kończy
I w końcu:
djboss komentarzy
Witaj, świecie!
Wymagania :
- Django
- Python
Komentarze nie znaleziono