Python django+中的仅管理区域;应用程序引擎
我正在使用django norel部署到应用程序引擎。对于仅管理领域,哪种解决方案更好? 1) 使用app.yaml定义仅限管理员的区域 2) 为googleuserservice编写中间件 更新: 有这个条目Python django+中的仅管理区域;应用程序引擎,python,django,google-app-engine,Python,Django,Google App Engine,我正在使用django norel部署到应用程序引擎。对于仅管理领域,哪种解决方案更好? 1) 使用app.yaml定义仅限管理员的区域 2) 为googleuserservice编写中间件 更新: 有这个条目 - url: /.* script: djangoappengine/main/main.py 在ap.yaml中,这不意味着所有页面都将由main.py处理吗 如果我使用的是login:admin这将如何影响当前的功能?使用app.yaml作为管理区域,因为login:ad
- url: /.*
script: djangoappengine/main/main.py
在ap.yaml中,这不意味着所有页面都将由main.py处理吗
如果我使用的是
login:admin
这将如何影响当前的功能?使用app.yaml作为管理区域,因为login:admin
是一个简单而干净的解决方案
如果您想在公共页面上使用版主功能,可以使用
更新:您不能使用登录:admin
来限制对一个文件中某些功能的访问。如果您想使用它,您必须创建一个单独的admin.py文件或其他文件
您还可以尝试创建一个函数装饰器,如@admin\u required。需要@login_的示例
以下是您必须更改的部分:
user = users.get_current_user()
if not user:
self.redirect(users.create_login_url(self.request.uri))
return
else:
handler_method(self, *args)
到
对于我使用的第三方管理区域。 为了将变量whitecurrentuser是admin传递给模板,我还发现以下方法很方便
self.response.out.write(template.render(path, {''admin':users.is_current_user_admin()..
然后在模板中显示带有标记的管理员部分
{% if admin %} ... admin stuff
{% if admin %} ... admin stuff