Мне кажется, что вы хотите сделать это вместо:
self.response.out.write("This is the url: %s", users.create_logout_url("/"))
Вы также можете передать его в свой шаблон, используя GAE-шаблоны django.
from google.appengine.ext.webapp import template
...
...
(inside your request handler)
class Empty: pass
data = Empty()
data.logout = users.create_logout_url("/")
self.response.out.write(template.render(my_tmpl, {'data': data})
Полезный подход заключается в добавлении всех видов информации в BaseRequestHandler, а затем в качестве базового класса для всех остальных классов обработчиков запросов.
from google.appengine.ext import webapp
...
class BaseRequestHandler(webapp.RequestHandler):
def __init__(self):
webapp.RequestHandler.__init__(self) # extend the base class
class Empty: pass
data = Empty()
data.foo = "bar"
Тогда ваши новые классы будут иметь доступ ко всем данным, которые вы указали в базовом классе.
class OtherHandler(BaseRequestHandler):
def get(self):
self.response.out.write("This is foo: %s" % self.data.foo) # passes str "bar"
Надеюсь, это поможет.
A.