Существует Статья в журнале Perl на локализации программного обеспечения. Это предоставит Вам хорошую идею того, что можно ожидать при добавлении многоязычной поддержки. Это красиво записало и юмористический.
А именно, статья написана людьми, которые записали, и поддержите Locale::Maketext
, таким образом, я рекомендовал бы, чтобы модуль, просто основанный на сумме боли, это ясно авторы, вынес, чтобы заставить ее работать правильно.
Если вы не установили для TEMPLATE_CONTEXT_PROCESSORS
какое-то другое значение в settings.py
, Django будет автоматически загрузить препроцессор контекста отладки
(как отмечено здесь ). Это означает, что у вас будет доступ к переменной под названием debug
в ваших шаблонах , если settings.DEBUG
истинно и IP-адрес вашего локального компьютера (который может быть просто 127.0.0.1) устанавливается в переменной settings.INTERNAL_IPS
(которая описана здесь ).
Если вы еще этого не сделали, это всегда помогает узнать, решали ли / как другие с той же проблемой на djangosnippets. Самый последний фрагмент, работающий с тегом аналитики, - 1656: http://www.djangosnippets.org/snippets/1656/
Что хорошо в этом решении, так это то, что оно позволяет сохранить ваш GOOGLE_ANALYTICS_CODE = xxxxxx
в local_settings.py в случае остальная часть вашего источника является общедоступной, ваш ключ остается закрытым. Кроме того, делается дополнительный шаг, чтобы не использовать аналитику для зарегистрированных пользователей.
Включает Javascript для Google Analytics. Не будет показывать код Google Analytics, когда DEBUG включен или штатным пользователям.
Используйте
{% googleanalyticsjs%}
в своих шаблонах.Вы должны установить что-то вроде
GOOGLE_ANALYTICS_CODE = "UA- 1234567-1 "
в вашем файле настроек.
Предполагается, что 'user' в ваших переменных шаблона -
request.user
, что будет, если вы используете:return render_to_response ('template.html', {}, context_instance = RequestContext (запрос))
(Предполагается, что
django.core.context_processors.auth
находится вTEMPLATE_CONTEXT_PROCESSORS
, что по умолчанию)
из шаблона импорта django настройки импорта register = template.Library () класс ShowGoogleAnalyticsJS (template.Node): def render (self, context): code = getattr (настройки, "GOOGLE_ANALYTICS_CODE", ложь) если не код: return "" если "пользователь" в контексте и контексте ["пользователь"] и контекст ["пользователь"]. is_staff: return "" если settings.DEBUG: return "" возвращение """ "" " def googleanalyticsjs (парсер, токен): return ShowGoogleAnalyticsJS () show_common_data = register.tag (googleanalyticsjs)
Вам нужно будет добавить флаг DEBUG
в ваши context_processors
.
Альтернативного способа может не быть. По крайней мере, ничего из того, о чем я знаю.