"Django-bosas yra idėjų išdėstytų mano bloge apie Django valdymo komandų vykdymą. Su juo jūs galite nurodyti komandas atskirų programų, ir tada paleisti juos naudojant djboss komandų eilutės sąsaja.
Diegimas Django-bosas "
Šiuo metu, montavimas daroma per easy_install django-bosas arba PIP įdiegti Django-bosas. Tik prielaidos yra argparse, kurio įdiegimas tvarkomi setuptools ir Django, kuriuos turėtumėte įdiegę dabar vistiek.
Rašymas Komandos
Komandos yra apibrėžiamas kaip instancijose djboss.commands.Command, esančių į komandas submodulis viduje įdiegto app. Pavyzdžiui, privalote laikytis šių app išdėstymą:
echoapp /
| - __init__.py
| - Commands.py
`- Models.py
Commands.py failas yra submodulis, kurie gali būti importuojami kaip echoapp.commands.
Su dekoratoriai "
Toliau yra pilnas pavyzdys galiojantį commands.py failą:
nuo djboss.commands importuoti *
command
Def Sveiki (args):
& Nbsp; "" "Spausdinti klišė į konsolę." ""
& Nbsp; print "Sveikas, pasauli!"
Šis pavyzdys naudojacommand dekoratorius paskelbti, kad funkcija yra Django-bosas komanda. Jūs galite pridėti argumentus komandas per daug; tiesiog naudokiteargument dekoratorius (įsitikinkite, kad jie ateina pocommand):
command
argument (n - n "," --no-naujos eilutės ", veiksmas = 'store_true"
& Nbsp; Pagalba = "Negalima pridėti sekantį ^ Z").
Def Sveiki (args):
& Nbsp; "" "Spausdinti klišė į konsolę." ""
& Nbsp; jei args.no_newline:
& nbsp; import sys
& Nbsp; sys.stdout.write ("! Sveiki, pasaulis")
& Nbsp; dar:
& Nbsp; print "Sveikas, pasauli!"
argument Dekoratorius priima ką argparse.ArgumentParser.add_argument () daro; konsultuojasi su argparse dokumentus gauti daugiau informacijos.
Jūs taip pat gali komentuoti komandas suteikiant vardinius argumentus, kadcommand:
command (vardas = "kažkas", aprašymas = "Ar ką nors").
Def do_something (args):
& Nbsp; "" ". Ar kažką" ""
& Nbsp; spausdinti "kažkas buvo padaryta."
Šiuo atveju, komanda vadinsis "kažkas", o ne automatiškai generuoja "Pasidaryk kažką", o jo aprašymas skirsis nuo jo docstring. Daugiau informacijos apie tai, kas gali būti perduota čia, konsultuojasi su argparse.ArgumentParser dokumentus.
"Be dekoravimo
API labai panašus be dekoratorių. Komandų klasė naudojama wrap funkcijas, ir galite duoti vardinius argumentus, kada kviesdavosi jį kaip sucommand:
Def echo (args):
& Nbsp; ...
aidas = komanda (aidas, vardas = "...", description = "...")
Įrašyta argumentus naudoja Command.add_argument () metodą, kuris yra tik nuoroda į generuoja sub-analizatorius & rsquo; s add_argument () metodas:
Def echo (args):
& Nbsp; ...
aidas = komanda (aidas, vardas = "...", description = "...")
echo.add_argument (', - n', '--no-Newline', ...)
echo.add_argument ("Žodžiai", nargs = '*')
"Running Commands"
Komandos yra vykdomas per djboss komandų eilutės sąsaja. Už tai, kad tinkamai paleisti, jums reikia vienas iš dviejų dalykų:
* DJANGO_SETTINGS_MODULE aplinkos kintamąjį, kuris remiasi galiojančiu, importuojamą Python modulis.
* Galioja, importuojami nustatymai modulis dabartinės darbo kataloge.
Kai vienas iš tų, padengtas, galite jį paleisti:
djboss help
Naudojimas: djboss [-h] [v] [-l LEVEL] komanda ...
Pradėti Django-bosas valdymo komandas.
pasirinktiniai argumentai:
& Nbsp; -h, help parodyti šią pagalbos pranešimą ir išeiti
& Nbsp; -v, --version Rodyti programos versijos numeris ir išeiti
& Nbsp; -l lygiu --log lygio LYGIS
& Nbsp; Pasirinkite žurnalo lygio nuo derinimo, INFO, WARN (pagal nutylėjimą)
& Nbsp; ar klaidos.
komandos:
& Nbsp; KOMANDA
& Nbsp; aidas aidas argumentai atgal į konsolę.
& Nbsp; Sveiki Spausdinti klišė į konsolę.
Norėdami sužinoti sub-komandas, djboss pirmuosius radinius ir importą jūsų Django parametrai.
DJANGO_SETTINGS_MODULE aplinkos kintamąjį viršenybę, tačiau, jei nenurodyta, djboss ieškos `settings` modulio einamojo katalogo. Komandos turi būti apibrėžti `commands` submodulis kiekvieno app. djboss ieškos kiekvieną jūsų INSTALLED_APPS už valdymo komandas.
Kiekvienas subcommand gauna help galimybę per:
djboss aidas help
Naudojimas: djboss echo [-h] [-n] [žodžiai [žodžiai ...]]
Aidas argumentus atgal į konsolę.
poziciniai argumentai:
& nbsp; žodžiai
pasirinktiniai argumentai:
& Nbsp; -h, help parodyti šią pagalbos pranešimą ir išeiti
& Nbsp; -n, --no-naujos eilutės Negalima spausdinti ^ Z vėliau.
Ir tada galite jį paleisti:
djboss echo keletą žodžių čia
Kai kurie žodžiai čia
Daugiau iš tos pačios:
djboss Sveiki help
Naudojimas: djboss Hello [-h]
Spausdinti klišė į konsolę.
pasirinktiniai argumentai:
& Nbsp; -h, help parodyti šią pagalbos pranešimą ir išeiti
Ir galiausiai:
djboss Sveiki
! Sveiki, Pasaulio
Reikalavimai
- Django
- Python,
Komentarai nerastas