Используйте app.yaml для административных областей, потому что login: admin
- это простое и чистое решение.
Если вам нужны функции модератора на общедоступных страницах, вы можете использовать users.is_current_user_admin () .
Обновление: Вы не можете использовать login: admin
, чтобы ограничить доступ к некоторым функциям в одном файле. Если вы хотите использовать его, вам нужно создать отдельный файл admin.py или что-то в этом роде.
Вы также можете попытаться создать декоратор функций, например @admin_required. Вот пример для @login_required.
Вот часть, которую вам нужно изменить:
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)