Мне нужно локализовать проект django, но оставить одно из приложений (блог) только на английском языке.
Я написал это промежуточное ПО для достижения этой цели:
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
Проблема в том, что предполагается, что промежуточное программное обеспечение находится непосредственно в модуле приложения (например, blog / middleware.py ) для получения имени приложения. Другие проекты могут иметь промежуточное программное обеспечение в blog / middleware / delocalize.py или что-то совсем другое.
Какой лучший способ получить имя запущенного в данный момент приложения?