2010-12-05 15 views
1

私は、app engine.whatへの配備にdjango-norelを使用しています。 1)GoogleのUserServiceのdjango + appエンジンの管理専用領域

更新のためのミドルウェアを書く)領域のみ 2管理者を定義するためのapp.yamlを使用して:ap.yamlで このエントリがある

- url: /.* 
    script: djangoappengine/main/main.py 

することは、その全てを意味するものではありません。 login:adminを使用している場合は、main.py によって処理されます。現在の機能にどのような影響がありますか?

答えて

1

に私はappengine_adminを使用するサードパーティ製の管理エリアについて。管理者は、一緒に演奏します:現在のユーザーは、私はまた、以下の便利な

self.response.out.write(template.render(path, {''admin':users.is_current_user_admin().. 

は、テンプレート管理者に部品がログインする方法をタグ

{% if admin %} ... admin stuff 
2

login: adminは簡単でクリーンなソリューションであるため、管理領域にはapp.yamlを使用してください。

公開ページにモデレータ機能を追加する場合は、users.is_current_user_admin()を使用できます。

更新:login: adminを使用して、1つのファイル内の一部の機能へのアクセスを制限することはできません。それを使用する場合は、別のadmin.pyファイルなどを作成する必要があります。

また、@ admin_requiredのような関数デコレータを作成することもできます。 @login_requiredの例はHere'sです。ここで

は、変更する必要があると思い部分です:

user = users.get_current_user() 
if not user: 
    self.redirect(users.create_login_url(self.request.uri)) 
    return 
else: 
    handler_method(self, *args) 

if not users.is_current_user_admin(): 
    self.redirect(denied_url) 
    return 
else: 
    handler_method(self, *args) 
+0

と管理者の方に表示されたテンプレートに管理者であるかどうかの変数を渡すために ?アップデートを参照してください。 –

関連する問題