URL выхода из Google App Engine - PullRequest
       14

URL выхода из Google App Engine

1 голос
/ 30 октября 2010

У меня проблемы с установкой ссылки выхода из системы в GAE (Python).

Это страница Я смотрю.

В своем шаблоне я создаю ссылку

<p><a href="\users.create_logout_url("/")\">Logout</a></p>

Но когда я нажимаю на нее, я получаю сообщение "неработающая ссылка" от Chrome. URL для ссылки выглядит так:

http://localhost:8085/users.create_logout_url(

Мои вопросы:

Кто-нибудь может объяснить, как это работает в целом?

Какой правильный адрес для сервера dev?

Какой правильный URL-адрес для сервера приложений?

Что такое ("/") в URL выхода из системы?

Спасибо.

EDIT

Эта ссылка работает; но я не знаю почему:

<p><a href="http://localhost:8085/_ah/login?continue=http%3A//localhost%3A8085/&action=Logout">Logout</a></p>

Ответы [ 3 ]

2 голосов
/ 23 августа 2011

Мне кажется, что вы хотите сделать это вместо:

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.

2 голосов
/ 30 октября 2010

Какие шаблоны вы используете? Из выводов видно, что вы неправильно экранировали свой код.

0 голосов
/ 14 апреля 2011

Здравствуйте, более или менее то, что эта статья показывает для материала учетной записи пользователя.В gwt я сохраняю на стороне сервера URL для выхода из системы / логина и передаю их клиенту

http://www.dev -articles.com / article / App-Engine-User-Services-in-JSP-3002

...