django-carga é um app carregador de módulo e objeto para Django.
Exemplos
Para obter a documentação completa da API, consulte http://django-load.readthedocs.org.
Vamos supor que a sua aplicação quer carregar todos os arquivos plugins.py dos aplicativos instalados, para permitir que os aplicativos para estender sua aplicação. Você pode conseguir isso como este:
django_load.core de carga de importação
load ("plugins")
Agora vamos dizer que você quer fazer o mesmo, mas realmente fazer alguma coisa com esses módulos, mais específicos, encontrar todos os objetos nesses módulos, que são subclasses de BasePlugin e chamar a nossa função do_something com esses objetos:
de django_load.core iterload importação
para o módulo em iterload ("plugins"):
& Nbsp; para nome no dir (módulo):
& Nbsp; obj = getattr (módulo, nome)
& Nbsp; se issubclass (obj, BasePlugin):
& Nbsp; do_something (obj)
Você também pode ter uma configuração chamada MY_APP_PLUGINS que contém caminhos de importação semelhantes às MIDDLEWARE_CLASSES. Você deseja carregar os plugins e chamar a função do_something com eles:
de django_load.core iterload_objects importação
django.conf de configurações de importação
para obj em iterload_object (settings.MY_APP_PLUGINS):
& Nbsp; do_something (obj)
Se você só deseja carregar um único objeto, você pode fazer isso também. Vamos dizer que você deseja carregar MyObject do módulo mypackage.mymodule:
de django_load.core load_object importação
obj = load_object ('mypackage.mymodule.MyObject')
Recursos :
- Carregar todos os módulos de todos os aplicativos instalados com um dado nome.
- Coloque todos os módulos de todos os aplicativos instalados com um determinado nome e interagir sobre eles.
- Coloque um objeto a partir de um módulo usando um classes middleware como caminho de importação.
- Unittested (veja http://ci.django-cms.org/job/django-load/)
- documentado (ver http://django-load.readthedocs.org)
Requisitos :
- Python
- Django
Comentários não encontrado