terça-feira, 16 de dezembro de 2014

Erros para instalar dependências do virtualenv no Mac OSX Lion

Tentando instalar as dependências do ambiente virutal para trabalhar com Django no OSX Lion me deparei com os seguinte erros:

error command 'llvm-gcc-4.2' failed with exit status 1
mysql_config not found

Além do claro, clássico trabalho para instalar a PIL com suporte a JPEG.

Resolvi as coisas com o a mesma solução: BREW (http://brew.sh/)

Depois de instalar o brew, desinstale PIL e Pillow, caso estejam instaladas  execute os comandos:

brew install libjpeg
brew install mysql
pip install PIL
pip install Pillow


hasta!

segunda-feira, 15 de dezembro de 2014

Apps não aparecem no administrativo mesmo como superuser autenticado

Criou os apps e tem certeza que as classes no admin.py estão corretas?

Caso tenha, e/ou esteja fazendo um downgrade do django 1.7 pro 1.6, e estava funcionando antes, certifique-se que colocou a linha abaixo no urls.py antes do urlpatterns:


...
admin.autodiscover()
...


hasta!

sábado, 22 de novembro de 2014

Definindo uma linguagem inicial para o projeto, não importando a linguagem setada pelo navegador

Eis o middleware que faz a mágica:


class ForceDefaultLanguageMiddleware(object):
    """
    Ignorar cabeçalhos HTTP Accept-Language

    Isso vai forçar as máquinas I18N para escolher sempre settings.LANGUAGE_CODE
    como o idioma inicial padrão, a menos que um outro é definido através de sessões ou cookies

    Deve ser instalado * antes * qualquer middleware que verifica request.META [' HTTP_ACCEPT_LANGUAGE '] ,
    como por exemplo:  django.middleware.locale.LocaleMiddleware
    """

    def process_request(self, request):
        if request.META.has_key('HTTP_ACCEPT_LANGUAGE'):
            del request.META['HTTP_ACCEPT_LANGUAGE']


e no settings.py, basta colocar o middleware antes do LocaleMiddleware como dito acima:

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'settings.middleware.ForceDefaultLanguageMiddleware',
    'django.middleware.locale.LocaleMiddleware',
)


hasta!