web-dev-qa-db-ja.com

ユーザーにカスタム権限を追加する

一部の既存のユーザーに、ビューにアクセスするために必要なカスタム権限を付与できるようにしたいと思います。

Postgresテーブルauth_permissionに新しい権限を追加する必要があると思いますが、これを行うためのより高いレベルの方法があると思います。また、auth_permissionにcontent_typeの列があり、その値がどうあるべきかわかりません。

これを行う正しい方法は何ですか?

22
Mitch

ドキュメントで カスタム権限を作成 する方法を見てください。

class USCitizen(models.Model):
    # ...
    class Meta:
        permissions = (
            ("can_drive", "Can drive"),
            ("can_vote", "Can vote in elections"),
            ("can_drink", "Can drink alcohol"),
        )

次に、python manage.py makemigrations && python manage.py migrateを実行します。

permission_requiredデコレータ を使用して、ビューへのアクセスを制限します。

32
sheats