O problema é que nenhuma empresa (tem alguma?) consegue manter uma equipe para gerenciar milhares de versões de milhares de aplicativos de um servidor. É o que ocorre com a Locaweb e também com o Google (no caso do Google App Engine).
A melhor maneira para resolver isso é a solução proposta pelo Google App Engine, que também é aplicável nos servidores da Locaweb. Basta copiar o diretório da versão do Django que desejar na raiz do seu projeto, como se fosse um pluggable (Django = simplicidade + flexibilidade), e configurar o classpath apropriadamente. Resumindo a parte da configuração, basta utilizar o index.wsgi a seguir:
Importante: Faça backup do index.wsgi original antes de qualquer mudança.
import os, sys, site
# Using Django of your project directory:
# Remove the standard version of Django.
for k in [k for k in sys.modules if k.startswith('django')]:
del sys.modules[k]
# Force sys.path to have our own directory first, in case we want to import from it.
sys.path.insert(0, '/home/SEUUSUARIO/wsgi_apps/SEUPROJETO')
sys.path.append('/home/ginlab/wsgi_apps/SEUPROJETO')
os.environ['DJANGO_SETTINGS_MODULE']='settings'
# se usa outras bibliotecas
site.addsitedir('/home/SEUUSUARIO/.python/lib')
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
Fontes:
http://code.google.com/appengine/articles/django.html
Boa tarde..
ResponderExcluirCara rodar esse codigo na locaweb mas ele não identifica as apps padrão de django. Acredito que seja pelo classpath que você citou.
Poderia dar um exemplo do codigo de classpath?
Abraço
Não vou conseguir verificar isso e não sei se a LocaWeb mudou alguma coisa na forma de lidar com aplicações Python, então não vou saber responder sua pergunta, mal!
ResponderExcluirabs