4

管理者バックエンドのモデルをスーパー ユーザーのみに表示し、スタッフ ユーザーには表示したくないのですが、可能ですか?

例:

check which user is logged
if superuser

admin.site.register(model_1)
admin.site.register(model_2)
admin.site.register(model_3)
...

if staff_user

admin.site.register(model_1)   #show only one model in the admin

ありがとうございました

4

3 に答える 3

4

そのようには機能しません。モジュールadmin.pyは、プロセスがリクエストを処理するたびにではなく、プロセスの起動時にインポートおよび評価されます (うまくいけば、非常に遅くなります)。解決策は、django のパーミッション システムを使用することです: https://docs.djangoproject.com/en/1.5/topics/auth/default/#permissions-and-authorization

于 2013-09-27T07:28:37.670 に答える