Djangoの管理画面について
Djangoは、Pythonで開発された人気のあるWebフレームワークで、開発者が効率的にWebアプリケーションを構築できます。Djangoの管理画面は、データベースの管理や操作を容易にするための強力な機能を提供しています。この記事では、管理画面のカスタマイズ可能な機能について、いくつか解説します。
この記事はDjango管理画面カスタムシリーズの1つです。
以下に本シリーズの記事を添付します。
GitHubレポジトリ
ここで解説しているソースコードは、GitHubにて公開しておりますので、気になる方はチェックしてみてください!
Django管理画面の権限管理
この記事はDjango管理画面の様々なカスタマイズシリーズの続きです。
概要
Djangoフレームワークは、Webアプリケーションの開発を効率的に行うための強力なツールです。その中でも、管理画面はデータの管理や操作を簡単に行える便利な機能ですが、デフォルトではすべてのユーザーに同じ権限が与えられています。このブログでは、Djangoの管理画面でユーザーごとにアクセス権を変更する方法を解説します。
目標
ユーザーごとにアクセス権を付与できることを目標とします。
具体的には、testuser2というユーザーを作成し、そのユーザーには、ブログの作成権限のみを付与してみます。
手順
1. スーパーユーザーアカウントで、管理画面にログイン
2. ユーザーを作成
3. 2.で作成したユーザーに権限を付与
管理画面にログインできるよう、Staff statusのチェックボックスにチェックを入れます。
また、ブログの追加権限を付与したいので、User permissionsのセレクトボックスから、blog | blog | Can add blog
を選択します。
4. 2.で作成したユーザーで管理画面にログインする
ログイン後の画面を確認すると、Blogしか表示されていませんね!
5. ブログを作成
ブログ作成権限があるか確認します。
title, body, authorを設定し、SAVEを押して登録します。
ブログが作成されました。
上記画像のBlog object(2)
を選択しても、閲覧権限がないため、以下の画面になりました。
スーパーユーザーアカウントで再度ログインすると、作成されたブログを確認できました🙆♂️
まとめ
Djangoの管理画面は非常に便利な機能ですが、デフォルトではすべてのユーザーに同じ権限が与えられています。
しかし、この記事で紹介した方法を用いることで、ユーザーごとにアクセス権を設定し、権限に応じて表示や編集、アクションを制御することが可能です。
これにより、さまざまな役割を持つユーザーが共同で管理画面を使用する際に、適切なアクセス権限を持たせることができます。
ぜひ、この機能を活用して、よりセキュアで使いやすいDjangoアプリケーションを開発しましょう!