create_logout_url
些細な appengine-site で一種の管理メニューを作成するために使用しようとしていますが、現在、かなり奇妙な動作をしています。以下のコードを見てください。
menu = []
logout_link = "<a href='%s'>Log out</a>" % users.create_logout_url('/blog')
menu.append(logout_link)
new_entry = ''
if users.is_current_user_admin():
new_entry = "<a href='%(newpost)s'>New entry</a>" % {'newpost': self.uri_for('blog_entry')}
menu.append(new_entry)
return ','.join(menu)
予想される出力は次のようになります。
<a href='/_ah/login?continue=http%3A//localhost%3A8080/blog&action=Logout'>Log out</a>,<a href='/blog/newpost'>New entry</a>
しかし、実際には次のとおりです。
<a href="<a href='/_ah/login?continue=http%3A//localhost%3A8080/blog&action=Logout'>Log out</a>,<a href='/blog/newpost'>New entry</a>">Log out</a>
何か案は?
アップデート
上記のコードを基本ハンドラー (この管理メニューやテンプレート機能など、どこでも再利用されるコードが多数含まれています) で使用しようとしていますが、それが役立つか重要な場合は.
logout_link
-part を次のように変更します。
logout_link = users.create_logout_url('/blog')
次の出力が得られます。
<a href="/_ah/login?continue=http%3A//localhost%3A8080/blog&action=Logout,<a href='/blog/newpost'>New entry</a>">Log out</a>
(ただし、以前にそれを試したことがありますが、役に立ちませんでした)