Основна проблема з необмеженням дозволу полягає в тому, що це може призвести до того, що користувачі зможуть робити те, чого вони не повинні мати. Наприклад, якщо користувач має дозвіл редагувати публікацію, він також може її видалити.
I have a problem with Django. I am using Django 1.8 and Python 3.4. I have created a superuser and staff user in my project, but the staff user is not restricting permission in django admin panel. I want to restrict the staff user from accessing some of the models in django admin panel, but it is not working for me, please help me out with this issue. A: You should add <code>is_staff = True</code> to your User model: https://docs.djangoproject.com/en/1.8/ref/contrib/admin/#django-contrib-admin-models-logentry <blockquote> <p>The LogEntry model has two required fields:</p> <ul> <li><strong><code><code>user</code></code></strong>: The User that performed the action.</li> <li><strong><code><code>action_time</code></code></strong>: The timestamp of the action.</li> </ul> <p>[...]</p> <p>[...] If you want to log actions performed by non-staff users, you’ll need to set <a href="https://docs.djangoproject.com/en/1.8/_modules/django/contrib/auth/#User" rel="nofollow noreferrer"><strong><em><a href="https://docs.djangoproject.com/en/1.8/_modules/" rel="nofollow noreferrer">User.<strong></strong>.is_staff</a></em></strong></a>] to True.</p> </blockquote>
Дозволи в Django
Дозволи в Django — це спосіб контролювати, хто і що може робити з вашою програмою. Вони визначені у файлі permissions.py і можуть бути встановлені для кожного користувача чи окремої програми.
Дозволи можна встановити на рівні дозволу, який є або читанням, або записом. Також можна встановити рівень дозволу для всіх користувачів, лише користувачів із певною роллю або лише користувачів із певними дозволами.
Ви також можете використовувати змінну середовища DJANGO_SETTINGS_MODULE, щоб установити дозволи для всіх запитів, зроблених вашою програмою.