2010-10-07 4 views
2

J'ai besoin de localiser un projet django, mais gardez une des applications (le blog) uniquement en anglais.Exclure une application Django d'être localisée en utilisant un middleware

J'ai écrit ce middleware pour y parvenir:

from django.conf import settings 
from django.core.urlresolvers import resolve 

class DelocalizeMiddleware: 
    def process_request(self, request): 
     current_app_name = __name__.split('.')[-2] 
     match = resolve(request.path) 
     if match.app_name == current_app_name: 
      request.LANGUAGE_CODE = settings.LANGUAGE_CODE 

Le problème est, il suppose que le middleware se trouve directement dans le module d'application (par exemple blog/middleware.py) pour récupérer l'application prénom. Autres projets peuvent avoir le middleware dans blog/middleware/delocalize.py ou autre chose tout à fait.

Quelle est la meilleure façon de récupérer le nom de l'application en cours d'exécution?

Répondre

Questions connexes