0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Django管理画面での権限管理

Posted at

Djangoの管理画面について

Djangoは、Pythonで開発された人気のあるWebフレームワークで、開発者が効率的にWebアプリケーションを構築できます。Djangoの管理画面は、データベースの管理や操作を容易にするための強力な機能を提供しています。この記事では、管理画面のカスタマイズ可能な機能について、いくつか解説します。

この記事はDjango管理画面カスタムシリーズの1つです。
以下に本シリーズの記事を添付します。

GitHubレポジトリ

ここで解説しているソースコードは、GitHubにて公開しておりますので、気になる方はチェックしてみてください!

Django管理画面の権限管理

この記事はDjango管理画面の様々なカスタマイズシリーズの続きです。

概要

Djangoフレームワークは、Webアプリケーションの開発を効率的に行うための強力なツールです。その中でも、管理画面はデータの管理や操作を簡単に行える便利な機能ですが、デフォルトではすべてのユーザーに同じ権限が与えられています。このブログでは、Djangoの管理画面でユーザーごとにアクセス権を変更する方法を解説します。

目標

ユーザーごとにアクセス権を付与できることを目標とします。
具体的には、testuser2というユーザーを作成し、そのユーザーには、ブログの作成権限のみを付与してみます。
Screenshot 2023-03-21 at 10.14.16.png

手順

1. スーパーユーザーアカウントで、管理画面にログイン

2. ユーザーを作成

Screenshot 2023-03-21 at 10.32.36.png

3. 2.で作成したユーザーに権限を付与

管理画面にログインできるよう、Staff statusのチェックボックスにチェックを入れます。
また、ブログの追加権限を付与したいので、User permissionsのセレクトボックスから、blog | blog | Can add blog を選択します。

Screenshot 2023-03-21 at 10.42.28.png

4. 2.で作成したユーザーで管理画面にログインする

Screenshot 2023-03-21 at 10.39.09.png

ログイン後の画面を確認すると、Blogしか表示されていませんね!

Screenshot 2023-03-21 at 10.44.56.png

5. ブログを作成

ブログ作成権限があるか確認します。
title, body, authorを設定し、SAVEを押して登録します。

Screenshot 2023-03-21 at 10.46.05.png

ブログが作成されました。

Screenshot 2023-03-21 at 10.46.41.png

上記画像のBlog object(2)を選択しても、閲覧権限がないため、以下の画面になりました。
Screenshot 2023-03-21 at 10.48.14.png

スーパーユーザーアカウントで再度ログインすると、作成されたブログを確認できました🙆‍♂️
Screenshot 2023-03-21 at 10.50.31.png

まとめ

Djangoの管理画面は非常に便利な機能ですが、デフォルトではすべてのユーザーに同じ権限が与えられています。
しかし、この記事で紹介した方法を用いることで、ユーザーごとにアクセス権を設定し、権限に応じて表示や編集、アクションを制御することが可能です。
これにより、さまざまな役割を持つユーザーが共同で管理画面を使用する際に、適切なアクセス権限を持たせることができます。
ぜひ、この機能を活用して、よりセキュアで使いやすいDjangoアプリケーションを開発しましょう!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?