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?