Мое приложение обслуживает несколько доменов, которые, как я понимаю, должны выполняться пространствами имен, которые я исследую.Поскольку несколько доменов должны иметь несколько идентификаторов аналитики: s Я получаю идентификатор аналитики из кода, но я хочу сделать его еще более настраиваемым:
if os.environ.get('HTTP_HOST').endswith('.br') \
or os.environ['SERVER_NAME'].endswith('.br'):
data[u'analytics'] = 'UA-637933-12'
else:
data[u'analytics'] = 'UA-637933-18'
self.response.out.write(template.render(os.path.join(os.path.dirname(__file__),
'templates', name + '.html'), data))
Приведенный выше идентификатор аналитики устанавливается на ..- 12, если это мойбразильский домен и другой ID ...- 18, если это моя точка ком.Но это только для 2 доменов, и это не просто обобщается.Как я могу добиться этой функции более научным и масштабируемым образом, чтобы стало проще добавлять мое приложение в домен без добавления домена в мое приложение вручную?
Я полагаю, что пространства имен - это путь, так какдомены - это домены приложений Google, но я не понимаю, как использовать пространства имен :
def namespace_manager_default_namespace_for_request():
"""Determine which namespace is to be used for a request.
The value of _NAMESPACE_PICKER has the following effects:
If _USE_SERVER_NAME, we read server name
foo.guestbook-isv.appspot.com and set the namespace.
If _USE_GOOGLE_APPS_DOMAIN, we allow the namespace manager to infer
the namespace from the request.
If _USE_COOKIE, then the ISV might have a gateway page that sets a
cookie called 'namespace', and we set the namespace to the cookie's value
"""
name = None
if _NAMESPACE_PICKER == _USE_SERVER_NAME:
name = os.environ['SERVER_NAME']
elif _NAMESPACE_PICKER == _USE_GOOGLE_APPS_DOMAIN:
name = namespace_manager.google_apps_namespace()
elif _NAMESPACE_PICKER == _USE_COOKIE:
cookies = os.environ.get('HTTP_COOKIE', None)
if cookies:
name = Cookie.BaseCookie(cookies).get('namespace')
return name
Полагаю, мне следует использовать менеджер пространства имен, получить пространство имен и установить идентификатор аналитики в соответствии св пространство имен, но как?
Спасибо