2011-06-06 16 views
29

Raporları e-posta ile gönderen özel bir yönetici komutum var. Normalde bir cron işinden çalışır. Yapmak istediğim, web uygulamasına tıklandığında, yönetici komutunun orada çalıştırılmasına neden olacak ve ardından cron işini çağırmasını beklemek yerine bir düğme eklemek. Bunu nasıl yaparım? BenÖzel yönetim komutunu görünümden çalıştır

python manage.py myadmincmd 

veya bir görünüm içinde kod çağırabileceği gibi bir komut satırına dışarı aramak zorunda mı? Komut hattına girmeye gerek kalmadan bir görüş içinde bunu yapabilsem daha temiz olurdu.

+2

Daniel yönetim komutu ve görünümü hem fiilen posta gönderme yapan bazı üçüncü işlevi çağırmak, böylece 'call_command' kullanabilir veya kod yapı olabilir diyor. –

+1

olası bir kopyası [Doğrudan bir test sürücüsünden özel bir Django manage.py komutunu nasıl arayabilirim?] (Http://stackoverflow.com/questions/907506/how-can-i-call-a-custom-django- – ChillarAnand

cevap

43

Sen call_command kullanabilirsiniz:

from django.core.management import call_command 
call_command('myadmincmd') 
+1

komutunu kullanarak-py-komutunu yönetin. – PiyusG

+0

https://docs.djangoproject.com/en/1.11/ komutunu işlerken konsola gelince web sayfasındaki cron yanıtını alabilir miyiz? ref/django-admin/# koşu yönetim-komutlar-den-your-kodu –

İlgili konular