Lahendatud: personali kasutaja ei piira django lubasid

Lubade piiramata jätmise peamine probleem on see, et kasutajad saavad teha asju, mida nad ei tohiks teha. Näiteks kui kasutajal on luba postitust muuta, võib ta ka selle kustutada.

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>&lt;code&gt;user&lt;/code&gt;</code></strong>: The User that performed the action.</li>
<li><strong><code>&lt;code&gt;action_time&lt;/code&gt;</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>

Load Djangos

Django load on viis juhtida, kes mida teie rakendusega teha saab. Need on määratletud failis permissions.py ja neid saab määrata kasutaja- või rakendusepõhiselt.

Lubasid saab määrata loa tasemel, mis on kas lugemise või kirjutamise õigus. Lubade taseme saab määrata ka nii, et see lubaks kõiki kasutajaid, ainult teatud rollis kasutajaid või ainult teatud õigustega kasutajaid.

Saate kasutada ka keskkonnamuutujat DJANGO_SETTINGS_MODULE, et määrata load kõikidele teie rakenduse tehtud taotlustele.

Seonduvad postitused:

Jäta kommentaar