1

我在 GAE (Python) 中获取注销链接时遇到问题。

这是我正在查看的页面。

在我的模板中,我创建了一个链接

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

但是当我点击它时,我会收到来自 Chrome 的“链接断开”消息。链接的 url 如下所示:

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

我的问题:

任何人都可以解释这通常是如何工作的吗?

开发服务器的正确 url 是什么?

应用服务器的正确 url 是什么?

注销 url 中的 ("/") 是什么?

谢谢。

编辑

此链接有效;但我不知道为什么:

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

3 回答 3

2

你使用什么样的模板?从输出中可以清楚地看出您没有正确转义代码。

于 2010-10-30T15:00:24.833 回答
2

在我看来,你想这样做:

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"

希望能帮助到你。

一种。

于 2011-08-23T01:08:16.410 回答
0

嗨,或多或少地关注这篇文章为用户帐户显示的内容。在 gwt 我存储服务器端注销/登录 url 并将它们传递给客户端

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

于 2011-04-14T14:40:41.000 回答