2014-10-30 6 views
1

У меня есть специальный код проверки js-кода в отдельном файле js.django admin - get_language получает язык по умолчанию, но не активен

я хочу сделать соответствующий JS файл, то есть, если LANGUAGE_CODE является 'es', файл JS должен заканчиваться myjsfile_es.js

я сделал:

class BlogForm(forms.ModelForm): 
    class Media: 
     js = ('js/custom_%s.js' % get_language(),) 

URL фактической страницы является:

http://127.0.0.1:8000/es/admin/blog/blog/add/ 

но get_language дает 'en', так что я получаю неправильный файл js custom_en.js для es страница,

en - язык по умолчанию в settings.py.

Как я могу получить активный язык в admin.py?

ответ

-1

вы можете получить текущий язык из django.utils.translation.get_language()

Проверка документации:

https://docs.djangoproject.com/en/1.6/topics/i18n/translation/#using-translations-outside-views-and-templates

+0

пожалуйста, прочитайте мой вопрос, это именно то, что не работает для меня – doniyor

+0

Это странное поведение Джанго. Есть два дополнительных метода в отношении get_language. Может быть, они помогают 'get_language_from_path', 'get_language_from_request', – Naveed

+0

да, но другим двум методам нужен объект пути или запроса, который я не знаю, как попасть в admin.py – doniyor

1

Может быть, это потому, что Джанго получить в свой язык в настройках браузера. У меня была такая же проблема в одном из моих проектов, и решить ее с помощью этого промежуточного уровня:

# -*- coding: utf-8 -*- 


class IgnoreAcceptLanguageMiddleware(object): 
    """ 
    Ignore Accept-Language HTTP headers 

    """ 

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

Почему вы удаляете '' HTTP_ACCEPT_LANGUAGE', мне нужно это в других местах, мне просто нужен доступ к объекту запроса в admin.py – doniyor

+1

Извините, это еще одна проблема, непонятная вам вопрос. Существует много ответов на вашу проблему: http: //stackoverflow.com/questions/2683689/django-access-request-object-from-admins-form-clean – kpacn

+0

О, потрясающе, спасибо :) – doniyor

Смежные вопросы