Ativa automaticamente a conclusão do bash do django na ativação do virtualenv (usando o virtualenvwrapper)

Se você estiver usando virtualenvwrapperpara ativar seus ambientes virtuais python, você pode fazer virtualenvwrapperautomaticamente fonte o django_bash_completionscript quando você ativar seu ambiente Django, que irá dar o seu bashambiente de guia-conclusão para django-admin.pye manage.pycomandos e opções de comando.

Execute o seguinte em seu shell para conectar o script no postactivateevento de seu virtualenv (substitua my_django_envpelo nome de seu django virtualenv):

$ workon my_django_env  # (1)
$ echo
'source "${VIRTUAL_ENV}/src/django/extras/django_bash_completion"' >> ${VIRTUAL_ENV}/bin/postactivate # (2)
$ workon my_django_env
# (3)

O que os comandos acima fazem:
(1) ativa seu ambiente de projeto django, de modo que as variáveis ​​de ambiente de shell do virtualenv sejam definidas, que usaremos no próximo comando
(2) conecta o fornecimento de conclusão de bash django em seu pós-virtualenv atual activate event
(3) reativa seu projeto django virtualenv para que o script de conclusão seja obtido no shell atual

Depois de emitir os comandos acima em seu shell, você agora tem o preenchimento de tabulação para os comandos django-admin.py e manage.py (e opções de comando) em seu shell atual e em novos shells depois de “trabalhar” com seu projeto django virtualenv .


Observe que os passos acima requerem que você tenha instalado um checkout “editável” do código-fonte do django, uma vez que o extrasdiretório, que contém o script de conclusão do django bash , não está no pacote python django (não é um módulo python). Se você estiver usando o pacote django python em seus requisitos com uma versão “congelada”, digamos,

Django==1.3.5

você pode transformá-lo em um check-out git editável com a seguinte entrada, com a mesma versão especificada como uma tag git:

-e git+git@github.com:django/django.git@1.3.5#egg=django

Depois de alterar a instalação do django do pacote python para o checkout editável do git, agora você deve ter o extrasdiretório em seu virtualenv e pode agora fornecer o django_bash_completionscript detalhado na metade superior deste protocolo.