2010-10-07 43 views
2

我需要本地化django項目,但只保留其中一個應用程序(博客)英文版。排除使用中間件本地化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 

問題是,它假設中間件直接位於應用程序模塊(例如博客/ middleware.py)用於檢索應用程序名稱。其他項目可能有中間件博客/中間件/ delocalize.py或其他東西。

什麼是檢索當前正在運行的應用程序的名稱的最佳方式是什麼?

回答