1

first of all I want to clarify that I am new to this, so if I fail in some concepts I apologize in advance.

I have configured the django administration panel, with an administrator user and two other users that I need to have different permissions to access certain urls of the web environment.

In the home page there are three titles with links to three different sections of the page: SECTION A, SECTION B AND SECTION C.

I want to have a user that has access to all the sections of the page and the other user that has access only to two sections.

How can I manage that?

Another thing I would need is the following: in my configuration, by default, when you launch the web server, the first thing that opens is the django administration portal, but I need that when you log in with a user, access directly to the url that has permissions.

Thanks in advance

user3105
  • 359
  • 1
  • 2
  • 7

1 Answers1

1

Do something like this in your template,

// Section A for all users
{% if user.is_staff %}
    // Section B for staff admin users only
{% elif request.user.has_perm('the_permission_name') or user.is_staff %}
  // Section C for staff or user that has first permission
{% elif request.user.has_perm('the_other_permission_name') or user.is_staff %}
  // Section D for staff or user that has the other permission
{% endif %}

And look at https://docs.djangoproject.com/en/4.0/topics/auth/default/#permissions-and-authorization to set and create permissions.

But I think this question already has an answer here, Check permission inside a template in Django

raphael
  • 2,469
  • 2
  • 7
  • 19