Google AppEngine にブログ システムを実装することにしました。しかし:
- ブログにログインボタンを追加したくありません。
- ログインするために手動で入力する URL を提供したくありません。
しかし、投稿、編集、削除など、オンラインで自分のためだけに管理を行いたいと思っています。
これを実装する賢い方法はありますか?
Google AppEngine にブログ システムを実装することにしました。しかし:
しかし、投稿、編集、削除など、オンラインで自分のためだけに管理を行いたいと思っています。
これを実装する賢い方法はありますか?
単純にどこにも表示されない秘密の URL を提供せず、次のように app.yaml で必要な管理者を管理ページに含める理由がわかりません。
- url: /admin/.*
script: admin.app
login: admin
しかし、本当に何も提供したくない場合でも、それを行うことができます。次のようにアクセスできる一意の URL を使用して、Google App Engine 上の同じアプリケーションに対して最大 10 個の異なるバージョンをデプロイできることを忘れないでください。
http://version-name.application-name.appspot.com
そのため、サイトを管理するためのまったく異なるアプリケーションと、サイトを表示するための別のアプリケーションを作成できます。両方を同じアプリにデプロイし、適切なバージョンをデフォルト バージョンとして使用します。
管理者のみが表示される Web ページ テンプレートにコンポーネントを追加できます。
たとえば、HTML テンプレートにこのようなものがある場合、admin_bool が True の場合にのみコンテンツをレンダリングします。その中にフォームなどを入れることができ、あなただけがそれを見ることができます。
{% if admin_bool %}
# only show this if you are an admin
{% endif %}
したがって、たまたま GAE ユーザー サービスを使用している場合は、次のようにすることができます。
from google.appengine.api import users
user = users.get_current_user()
if user:
print "Welcome, %s!" % user.nickname()
if users.is_current_user_admin():
admin_bool = True
admin_bool をテンプレートに渡すと、現在のユーザーが管理者である場合にのみレンダリングされます。
https://developers.google.com/appengine/docs/python/users/adminusers
ブログの管理機能のログイン ボタンを表示する別のページまたは URL を指定します。たとえば、管理者がログインできる wordpress.com でブログをホストできますが、ログイン ボタンが表示されない別の URL からアクセスできます。
キーボード ショートカットを使用できます。または見えないボタン。多分ジェスチャー。