我正在使用django-norel部署到應用引擎。哪一個可以成爲僅管理員區域的更好解決方案?使用app.yaml的定義僅管理領域 2)寫了谷歌userservice中間件 1)管理員只在django +應用引擎區域
更新: 有此項
- url: /.*
script: djangoappengine/main/main.py
在ap.yaml
並不意味着所有的頁面將由main.py 處理,以防我正在使用login:admin
這將如何影響當前的功能?
我正在使用django-norel部署到應用引擎。哪一個可以成爲僅管理員區域的更好解決方案?使用app.yaml的定義僅管理領域 2)寫了谷歌userservice中間件 1)管理員只在django +應用引擎區域
更新: 有此項
- url: /.*
script: djangoappengine/main/main.py
在ap.yaml
並不意味着所有的頁面將由main.py 處理,以防我正在使用login:admin
這將如何影響當前的功能?
因爲我使用appengine_admin第三方管理區。 要通過可變當前用戶是否是管理員模板我還發現了以下便利
self.response.out.write(template.render(path, {''admin':users.is_current_user_admin()..
然後在模板管理部分向管理員顯示與標籤
{% if admin %} ... admin stuff
使用app.yaml管理區域,因爲login: admin
是一個簡單而乾淨的解決方案。
如果您想在公共頁面上使用主持人功能,您可以使用users.is_current_user_admin()。
更新:您不能使用login: admin
限制訪問某個文件中的某些功能。如果你想使用它,你必須創建一個單獨的admin.py文件或其他東西。
你也可以嘗試創建一個像@admin_required這樣的函數裝飾器。 Here's @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)
會怎麼登錄:admin將沿打?請參閱更新。 – 2010-12-05 13:54:54