django-patron Django yönetim komutları benim blog yazısı belirtilen fikirlerin bir uygulamasıdır. Bununla beraber, bireysel uygulamalar komutları belirtin ve ardından djboss komut satırı arabirimini kullanarak bunları çalıştırabilirsiniz.
Takma django-patron
Şu anda kurulum easy_install django-patron üzerinden yapılır veya django-patron yüklemeniz pip. Yalnızca önkoşulları olan yükleme setuptools tarafından ele alınır, argparse, ve şimdi yine tarafından yüklü olmalıdır Django.
Yazma Komutları
Komutları kurulu app içinde komutlar submodule mevcut djboss.commands.Command örnekleri, olarak tanımlanır. Örneğin, aşağıdaki uygulama düzenini almak:
echoapp /
| - __init__.py
| - Commands.py
`- Models.py
commands.py dosya echoapp.commands olarak ithal edilebilir bir alt modül olduğunu.
Dekoratörler ile
Geçerli bir commands.py dosyasının tam bir örnek aşağıda verilmektedir:
djboss.commands dan itibaren * ithalat
command
(args) merhaba def:
& Nbsp; "" "konsoluna bir klişe yazdırın." ""
& Nbsp; print "Merhaba, Dünya!"
Bu örnek işlevi django-patron komutu olduğunu bildirmek içincommand dekoratör kullanır. Siz de komutlara argümanları ekleyebilirsiniz; Sadeceargument dekoratör (onlarcommand sonra gelen emin olun) kullanın:
command
argument ('- n', '--no-satır' action = 'store_true'
& Nbsp; help = "bir arka satırsonu eklemek etmeyin.")
(args) merhaba def:
& Nbsp; "" "konsoluna bir klişe yazdırın." ""
& Nbsp; args.no_newline eğer:
& Nbsp; import sys
& Nbsp; sys.stdout.write ("Merhaba Dünya")
& Nbsp; else:
& Nbsp; print "Merhaba, Dünya!"
argument dekoratör ne yaparsa yapsın argparse.ArgumentParser.add_argument () kabul eder; Daha fazla bilgi için argparse belgeler danışın.
Ayrıcacommand için anahtar kelime argümanlar vererek komutları açıklama ekleyebilirsiniz:
command (= "şey" ad, açıklama = "bir şey yapar.")
def do_something (args):
& Nbsp; "" ". Bir şeyler yapın" ""
& Nbsp; print "bir şey yapılmamıştır."
Bu durumda, komut yerine otomatik olarak oluşturulan "do-şey" nin "bir şey" adı verilecek ve onun açıklaması olan docstringe farklı olacaktır. Burada geçirilebilir ne daha fazla bilgi için, argparse.ArgumentParser dokümanlar danışın.
olmadan dekoratörler
API dekoratör olmadan çok benzerdir. Komut sınıfı fonksiyonlarını sarmak için kullanılır vecommand ile olarak çağrılırken anahtar kelime argümanlar verebiliriz:
def echo (args):
& Nbsp; ...
echo = Command (eko, name = '...', açıklama = '...')
Oluşturulan alt çözümleyici & rsquo için sadece bir referans Command.add_argument () yöntemi, argüman kullanır ekleme; s add_argument () yöntemi:
def echo (args):
& Nbsp; ...
echo = Command (eko, name = '...', açıklama = '...')
echo.add_argument ('- n' 'no-satır', ...)
echo.add_argument ('kelimeleri', nargs = '*')
Komutlar Koşu
Komutları djboss komut satırı arayüzü üzerinden yürütülür. Bu düzgün çalışması için, iki şeyden birini gerekir:
* Geçerli, alınabilir Python modülü gelir bir DJANGO_SETTINGS_MODULE ortam değişkeni.
* Geçerli çalışma dizini geçerli, alınabilir ayarlar modülü.
Bunlardan biri kaplıdır sonra, çalıştırabilirsiniz:
djboss --help
kullanımı: [-h] [-v] [-l LEVEL] KOMUT djboss ...
Run django-patron yönetim komutları.
İsteğe bağlı argümanlar:
& Nbsp; -h, bu yardım iletisini ve çıkış göstermek help
& Nbsp; -v, --version gösteri programın sürüm numarası ve çıkış
& Nbsp; l LEVEL, --log düzey LEVEL
& Nbsp; DEBUG, INFO bir günlük düzeyini seçin, WARN (varsayılan)
& Nbsp; veya HATA.
buyurur:
& Nbsp; KOMUTANLIĞI
& Nbsp; argümanlar geri konsola Echo Echo.
& Nbsp; merhaba konsola bir klişe yazdırın.
Alt komutlar, djboss ilk buluntular ve ithalat için Django ayarlarını keşfetmek için.
DJANGO_SETTINGS_MODULE ortam değişkeni önceliklidir, ancak belirtilmemiş ise, djboss geçerli dizinde bir `settings` modül arayacaktır. Komutları her uygulamanın bir `commands` altmodülün tanımlanmalıdır. djboss yönetim komutları için INSTALLED_APPS her arayacaktır.
Her alt komutu da bir --help seçeneği alır:
djboss yankı --help
kullanım: djboss yankı [-h] [-n] [kelimeler [sözler ...]]
Geri konsola argümanları Echo.
konumsal argümanlar:
& Nbsp; kelimeler
İsteğe bağlı argümanlar:
& Nbsp; -h, bu yardım iletisini ve çıkış göstermek help
& Nbsp; -n, --no-satır sonrasında satırsonu baskı yapmayın.
Ve sonra onu çalıştırabilirsiniz:
Burada bazı kelimeler yankı djboss
Burada bazı kelimeler
Aynı Devamı:
--help merhaba djboss
kullanım: merhaba djboss [-h]
Konsola bir klişe yazdırın.
İsteğe bağlı argümanlar:
& Nbsp; -h, bu yardım iletisini ve çıkış göstermek help
Ve sonunda:
djboss merhaba
! Merhaba Dünya
Gereksinimleri :
- Django
- Python
Yorum Bulunamadı